干货 | 漏洞挖掘中理解和绕过速率限制
2022-7-22 12:59:22 Author: HACK学习君(查看原文) 阅读量:17 收藏


当您浏览一个网站并在短时间内多次提交重复请求时,该网站可能会要求您填写验证码或要求额外验证。如果发生这种情况,您将需要遵守该请求。这种做法被称为“速率限制”。

这意味着一旦网站检测到请求可能来自计算机机器人或任何其他自动化工具,网站将开始限制您或您的浏览器发送请求的速率。

出于多种原因可以做到这一点,包括保护应用程序资源、为用户提供良好的网站响应时间,以及偶尔保护用户帐户或用户免受暴力攻击。

因为这些查询可以用来探索或爬取整个网站

如果来自工具或用户的重复请求被发送到特定端点,“速率限制”是一种有助于限制服务器发出的连续请求数量的方法。这种方法被称为“速率限制”。这通常是为了保护网站或应用程序免受 DOS 攻击;但是,它也可能存在许多其他问题,包括用户名和密码的暴力破解,以及有时防止一次性密码或其他参数的暴力破解。

有许多不同的端点或功能需要实施速率限制功能,例如登录、注册、忘记密码、双重身份验证以及其他可能需要的地方,包括应用优惠券代码时等等。

考虑以下场景作为说明:应用程序根据发送给用户的 OTP 执行身份验证。如果该特定端点上没有速率限制,攻击者可以轻松地暴力破解 OTP 并登录到受害者的帐户。OTP一般是由四个数字组成。

  1. 减少服务器上的负载,从而提高性能和资源利用率。

  2. 消除对登录、OTP验证以及忘记密码等不同端点进行暴力攻击的可能性。

  3. 降低 DOS 攻击的可能性。

登录功能是每个应用程序的标准功能。登录帐户时,用户可以使用多种选项,例如输入密码或一次性密码 (OTP)。由于最近发生的大量违规行为,大量用户名和密码已被公开。

如果该特定端点没有速率限制,攻击者可能会使用通过违规获取或获取的用户名和密码来测试和寻找网站上存在的帐户。

因此,可以利用它来控制用户帐户。因此,即使用户使用 OTP 登录其帐户,攻击者也有可能暴力破解 OTP 并登录用户帐户。即使用户正在使用 OTP,这种情况也是可能的。

如果在网站上应用了速率限制,那么如果没有正确实施速率限制,则可以通过使用特定的标头或 IP 轮换来轻松绕过它。

可以通过各种不同的方法绕过网站上的限速保护。

有几个标头,如果使用,可以规避速率限制。

这些标头主要是由于可以在后端欺骗 IP 的事实,用户也可以绕过一些内部验证。

如果使用这些标头,则可以规避速率限制。

为了确定使用哪个主机名来连接或发送请求到 API 或 Web 服务器。

在反向代理或云架构的情况下,多个网站托管在单个物理服务器上,主机名将不同。在这两种情况下,主机名都不相同。

该标头有助于保护用户的隐私,这是它提供的另一个重要功能。

因此,如果提供了大量虚构的主机名,您可能会绕过已在服务器上建立的速率限制。

X-Forwarded-Forwww.test.com

此标头用于确定最初发出请求的计算机的 IP 地址。这通常包含在服务器端,以便在发送请求时捕获用户的 IP 地址。

这可用于确定通过 HTTP 代理或负载平衡器连接到 Web 服务器的用户的 Internet 协议地址(IP 地址)。

如果你发送这个header,然后在这个header的值中操作IP地址,网站会认为有大量不同的IP地址试图连接到服务器。

如果他们阻止了其中一个 IP 地址,那么您可以添加另一个 IP 地址,这意味着您可以暴力破解 IP 地址的八位字节来欺骗请求。

因此,它将绕过速率限制。此标头可用于此格式。

X-Forwarded-For:127.0.0.1

您可以使用入侵者更改 IP 地址的最后一个八位位组,或者您可以收集 IP 地址列表并将它们作为有效负载传递到此标头中。

如果攻击者希望绕过登录面板提供的限速保护。

他可以通过将字符“空格”附加到用户名的末尾来做到这一点。

这将导致后端的空间被截断,之后将处理用户名;因此,可以绕过速率限制。

如果攻击者希望绕过登录提供的限速保护。他可以在两个用户名的末尾附加“Null Byte”。

我们可以将一项功能添加到仅在 Burp专业版中可用的扩展中。因此,为了切换IP 地址,我们拥有称为 IP 切换的功能。此插件使用 AWS API 网关,每个请求都通过 API 网关在相应区域的端点进行路由,每个目标请求的源 IP 都会更改。如果这些功能是基于攻击者的 IP 地址实现的,攻击者将利用此功能绕过限速功能。使用腾讯云函数也可以的

插件名字:IPRotate_Burp_Extension

更长和更难的密码应该是防止暴力攻击过程中的第一步。

当今使用的大多数网站和在线平台都要求其用户生成长度在 8 到 16 个字符之间的密码,并包含字母字符、数字字符和特殊字符的组合。

限制任何身份验证端点上的登录尝试次数的操作很简单,但可能会产生重大影响。一旦达到限制,始终建议冻结用户帐户并阻止违规用户的 IP 地址。

如果我们实施速率限制,它不仅可以保护应用程序免受 DOS 和其他形式的攻击媒介的攻击,还可以保护它免受暴力攻击。

因为它可能会导致应用程序工作方式出现问题。

因此,必须确保始终将速率限制应用于应用程序。如果未正确应用速率限制,则可能会危及用户帐户,并可能导致用户帐户上的大量垃圾邮件。


推荐阅读

实战 | 记一次渗透拿下某儿童色情网站的经过

实战 | 当裸聊诈骗遇到黑客,记一次新型的裸聊诈骗渗透经历

实战 | 记一次对某系统的渗透测试

实战 | 记一次企业钓鱼演练

干货 | 2022年超全的安全知识库

实战 | 实战一次完整的BC网站渗透测试

如有侵权,请联系删除

来源:https://infosecwriteups.com/

作者:Security Lit Limited


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzNzMxMDkxNw==&mid=2247488802&idx=1&sn=578b63bb7d034ba97cc7f1cb602fa7d5&chksm=e8cbd388dfbc5a9e3a9caaa5cc6fdfcae76f1fe48f4a4513e235a3e6800e0e2e8f66f2c23f71#rd
如有侵权请联系:admin#unsafe.sh