hacktricks/pentesting-web/rate-limit-bypass.md

70 lines
4.1 KiB
Markdown
Raw Normal View History

# 速率限制绕过
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)轻松构建并由全球**最先进**的社区工具驱动的**自动化工作流程**。\
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
2022-04-28 16:01:33 +00:00
支持HackTricks的其他方式
* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
</details>
## 速率限制绕过技术
### 探索类似的端点
应尝试对目标端点的变体进行暴力攻击,例如`/api/v3/sign-up`,包括`/Sing-up``/SignUp``/singup``/api/v1/sign-up``/api/sign-up`等替代选项。
### 在代码或参数中插入空白字符
将空白字节如`%00``%0d%0a``%0d``%0a``%09``%0C``%20`插入代码或参数中可能是一种有用的策略。例如,将参数调整为`code=1234%0a`可以通过输入的变化来延长尝试次数,例如向电子邮件地址添加换行符以绕过尝试限制。
2021-07-26 10:54:04 +00:00
### 通过标头操纵IP来源
修改标头以更改感知的IP来源可以帮助规避基于IP的速率限制。诸如`X-Originating-IP``X-Forwarded-For``X-Remote-IP``X-Remote-Addr``X-Client-IP``X-Host``X-Forwared-Host`等标头,包括使用多个`X-Forwarded-For`实例可以调整以模拟来自不同IP的请求。
2021-07-26 10:54:04 +00:00
```bash
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
2020-08-25 08:42:39 +00:00
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Forwared-Host: 127.0.0.1
# Double X-Forwarded-For header example
X-Forwarded-For:
X-Forwarded-For: 127.0.0.1
```
### 更改其他标头
建议更改其他请求标头如用户代理和Cookie因为这些也可以用于识别和跟踪请求模式。更改这些标头可以防止识别和跟踪请求者的活动。
2022-04-28 16:01:33 +00:00
### 利用 API 网关行为
一些 API 网关配置为基于端点和参数的组合应用速率限制。通过变化参数值或向请求添加非重要参数,可以绕过网关的速率限制逻辑,使每个请求看起来是独一无二的。例如 `/resetpwd?someparam=1`
2022-04-28 16:01:33 +00:00
### 在每次尝试之前登录到您的帐户
在每次尝试之前登录到一个帐户,或每组尝试,可能会重置速率限制计数器。这在测试登录功能时特别有用。利用类似 Burp Suite 中的 Pitchfork 攻击工具,每隔几次尝试轮换凭据,并确保标记了跟随重定向,可以有效地重新启动速率限制计数器。
2022-04-28 16:01:33 +00:00
### 利用代理网络
部署代理网络以将请求分布到多个 IP 地址可以有效地绕过基于 IP 的速率限制。通过通过各种代理路由流量,每个请求看起来来自不同的源头,削弱速率限制的效果。
2022-04-28 16:01:33 +00:00
### 将攻击分散到不同帐户或会话中
如果目标系统根据每个帐户或每个会话应用速率限制,将攻击或测试分散到多个帐户或会话中可以帮助避免检测。这种方法需要管理多个身份或会话令牌,但可以有效地分发负载以保持在允许的限制范围内。