暴力破解与速率限制


文档摘要

暴力破解与速率限制 概要 工具 暴力破解 Burp Suite Intruder FFUF 速率限制 TLS 堆栈 - JA3 网络 IPv4 网络 IPv6 参考文献 工具 ZephrFish/OmniProx - 从不同提供商轮换 IP 地址 - 类似于 FireProx,但适用于 GCP、Azure、Alibaba 和 CloudFlare。 ddd/gpb - 在轮换 IPv6 地址的同时,暴力破解任何 Google 用户的电话号码。 ffuf/ffuf - 用 Go 编写的快速 Web 模糊测试工具。 PortSwigger/Burp Suite - 行业领先的漏洞扫描、渗透测试和 Web 应用安全平台。

暴力破解与速率限制

概要

工具

  • ZephrFish/OmniProx - 从不同提供商轮换 IP 地址 - 类似于 FireProx,但适用于 GCP、Azure、Alibaba 和 CloudFlare。
  • ddd/gpb - 在轮换 IPv6 地址的同时,暴力破解任何 Google 用户的电话号码。
  • ffuf/ffuf - 用 Go 编写的快速 Web 模糊测试工具。
  • PortSwigger/Burp Suite - 行业领先的漏洞扫描、渗透测试和 Web 应用安全平台。
  • lwthiker/curl-impersonate - 一个特殊的 curl 构建版本,可以模拟 Chrome 和 Firefox。

暴力破解

在 Web 环境中,暴力破解是指通过登录表单或其他用户输入字段,尝试未经授权访问 Web 应用程序的方法。攻击者系统地输入大量凭据或其他值的组合(例如,遍历数字范围),以利用弱密码或不充分的安全措施。

例如,他们可能会提交数千个用户名和密码组合,或者通过遍历某个范围(如 0 到 10,000)来猜测安全令牌。如果未得到有效缓解,这种方法可能导致未经授权的访问和数据泄露。

速率限制、账户锁定策略、CAPTCHA 以及强密码要求等对策对于保护 Web 应用程序免受此类暴力破解攻击至关重要。

Burp Suite Intruder

  • 狙击攻击:针对单个位置(一个变量),同时循环使用一个有效载荷集。

    Username: password Username1:Password1 Username1:Password2 Username1:Password3 Username1:Password4
  • 撞门攻击:使用单个有效载荷集,将相同的有效载荷同时发送到所有标记的位置。

    Username1:Username1 Username2:Username2 Username3:Username3 Username4:Username4
  • 耙子攻击:并行使用不同的有效载荷列表,将每个列表中的第 n 个条目组合成一个请求。

    Username1:Password1 Username2:Password2 Username3:Password3 Username4:Password4
  • 集群炸弹攻击:遍历多个有效载荷集的所有组合。

    Username1:Password1 Username1:Password2 Username1:Password3 Username1::Password4 Username2:Password1 Username2:Password2 Username2:Password3 Username2:Password4

FFUF

ffuf -w usernames.txt:USER -w passwords.txt:PASS \ -u https://target.tld/login \ -X POST -d "username=USER&password=PASS" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "X-Forwarded-For: FUZZ" -w ipv4-list.txt:FUZZ \ -mc all

速率限制

HTTP 管道化

HTTP 管道化是 HTTP/1.1 的一项功能,允许客户端在单个持久 TCP 连接上发送多个 HTTP 请求,而无需先等待相应的响应。客户端通过同一连接“管道式”地连续发送请求。

TLS 堆栈 - JA3

JA3 是一种通过哈希 TLS “hello” 消息的内容来对 TLS 客户端进行指纹识别的方法(JA3S 则用于 TLS 服务器)。它提供了一个紧凑的标识符,即使更高级别的协议字段(如 HTTP 用户代理)被隐藏或伪造,你也可以用它来检测、分类和跟踪网络上的客户端。

JA3 收集 Client Hello 数据包中以下字段的字节十进制值:SSL 版本、接受的密码套件、扩展列表、椭圆曲线和椭圆曲线格式。然后按顺序将这些值连接在一起,用“,”分隔每个字段,用“-”分隔每个字段中的每个值。

  • Burp Suite JA3: 53d67b2a806147a7d1d5df74b54dd049, 62f6a6727fda5a1104d5b147cd82e520
  • Tor Client JA3: e7d705a3286e19ea42f587b344ee6865

应对措施:

  • 使用浏览器驱动的自动化(Puppeteer / Playwright)
  • 使用 lwthiker/curl-impersonate 欺骗 TLS 握手
  • 针对浏览器/库的 JA3 随机化插件

网络 IPv4

使用多个代理来模拟多个客户端。

proxychains ffuf -w wordlist.txt -u https://target.tld/FUZZ
  • 使用 random_chain 来轮换每个请求

    random_chain
  • 将每个连接的代理链数量设置为 1。

    chain_len = 1
  • 最后,在配置文件中指定代理:

    # type host port socks5 127.0.0.1 1080 socks5 192.168.1.50 1080 http proxy1.example.com 8080 http proxy2.example.com 8080

网络 IPv6

许多云提供商,如 Vultr,提供 /64 IPv6 范围,这提供了大量的地址(18,446,744,073,709,551,616)。这使得在暴力破解攻击期间可以进行广泛的 IP 轮换。

参考文献

免责声明
本文件由基于人工智能的机器翻译服务翻译而成。尽管我们力求翻译准确,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言版本的文件为准。对于关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。


作者与出处
原作者: swisskyrepo
来源:swisskyrepo
许可证:MIT
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: swisskyrepo 转发
评论区 (0)
U