渗透测试 | 漏洞挖掘中理解和绕过速率限制

admin 2022年12月19日11:19:11评论60 views字数 2565阅读8分33秒阅读模式

介绍

当您浏览一个网站并在短时间内多次提交重复请求时,该网站可能会要求您填写验证码或要求额外验证。如果发生这种情况,您将需要遵守该请求。这种做法被称为“速率限制”。
这意味着一旦网站检测到请求可能来自计算机机器人或任何其他自动化工具,网站将开始限制您或您的浏览器发送请求的速率。
出于多种原因可以做到这一点,包括保护应用程序资源、为用户提供良好的网站响应时间,以及偶尔保护用户帐户或用户免受暴力攻击。
因为这些查询可以用来探索或爬取整个网站

什么是速率限制?

渗透测试 | 漏洞挖掘中理解和绕过速率限制
如果来自工具或用户的重复请求被发送到特定端点,“速率限制”是一种有助于限制服务器发出的连续请求数量的方法。这种方法被称为“速率限制”。这通常是为了保护网站或应用程序免受 DOS 攻击;但是,它也可能存在许多其他问题,包括用户名和密码的暴力破解,以及有时防止一次性密码或其他参数的暴力破解。
有许多不同的端点或功能需要实施速率限制功能,例如登录、注册、忘记密码、双重身份验证以及其他可能需要的地方,包括应用优惠券代码时等等。
考虑以下场景作为说明:应用程序根据发送给用户的 OTP 执行身份验证。如果该特定端点上没有速率限制,攻击者可以轻松地暴力破解 OTP 并登录到受害者的帐户。OTP一般是由四个数字组成。

速率限制的作用:

  1. 减少服务器上的负载,从而提高性能和资源利用率。
  2. 消除对登录、OTP验证以及忘记密码等不同端点进行暴力攻击的可能性。
  3. 降低 DOS 攻击的可能性。

为什么会出现?

登录功能是每个应用程序的标准功能。登录帐户时,用户可以使用多种选项,例如输入密码或一次性密码 (OTP)。由于最近发生的大量违规行为,大量用户名和密码已被公开。
如果该特定端点没有速率限制,攻击者可能会使用通过违规获取或获取的用户名和密码来测试和寻找网站上存在的帐户。
因此,可以利用它来控制用户帐户。因此,即使用户使用 OTP 登录其帐户,攻击者也有可能暴力破解 OTP 并登录用户帐户。即使用户正在使用 OTP,这种情况也是可能的。

如何绕过速率限制保护 ?

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

1.通过在请求中使用Header

有几个标头,如果使用,可以规避速率限制。
这些标头主要是由于可以在后端欺骗 IP 的事实,用户也可以绕过一些内部验证。
如果使用这些标头,则可以规避速率限制。

2.X-Forwarded-Host

为了确定使用哪个主机名来连接或发送请求到 API 或 Web 服务器。
在反向代理或云架构的情况下,多个网站托管在单个物理服务器上,主机名将不同。在这两种情况下,主机名都不相同。
该标头有助于保护用户的隐私,这是它提供的另一个重要功能。
因此,如果提供了大量虚构的主机名,您可能会绕过已在服务器上建立的速率限制。
X-Forwarded-Forwww.test.com

3.X-Forwarded-For

此标头用于确定最初发出请求的计算机的 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 切换

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

如何修复?

密码长度

更长和更难的密码应该是防止暴力攻击过程中的第一步。
当今使用的大多数网站和在线平台都要求其用户生成长度在 8 到 16 个字符之间的密码,并包含字母字符、数字字符和特殊字符的组合。

限制登录尝试

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

结论

如果我们实施速率限制,它不仅可以保护应用程序免受 DOS 和其他形式的攻击媒介的攻击,还可以保护它免受暴力攻击。
因为它可能会导致应用程序工作方式出现问题。
因此,必须确保始终将速率限制应用于应用程序。如果未正确应用速率限制,则可能会危及用户帐户,并可能导致用户帐户上的大量垃圾邮件。

来源:https://infosecwriteups.com/作者:Security Lit Limited

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权否则需自行承担,本公众号及原作者不承担相应的后果.

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell
「 超详细 | 分享 」手把手教你如何进行内网渗透
神兵利器 | siusiu-渗透工具管理套件
一款功能全面的XSS扫描器
实战 | 一次利用哥斯拉马绕过宝塔waf
BurpCrypto: 万能网站密码爆破测试工具
快速筛选真实IP并整理为C段 -- 棱眼
自动探测端口顺便爆破工具t14m4t
渗透工具|无状态子域名爆破工具(1秒扫160万个子域)

查看更多精彩内容,还请关注橘猫学安全:
每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看

原文始发于微信公众号(橘猫学安全):渗透测试 | 漏洞挖掘中理解和绕过速率限制

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月19日11:19:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试 | 漏洞挖掘中理解和绕过速率限制http://cn-sec.com/archives/1471424.html

发表评论

匿名网友 填写信息