PortSwigger/turbo-intruder

GitHub: PortSwigger/turbo-intruder

Turbo Intruder 是一个 Burp Suite 扩展,用于发送海量 HTTP 请求并分析结果,专为处理极快速度、超长持续时间或高复杂度的攻击场景而设计。

Stars: 1729 | Forks: 232

# Turbo Intruder Turbo Intruder 是一个 Burp Suite 扩展,用于发送大量 HTTP 请求并分析结果。它旨在通过处理需要极快速度、极长持续时间或极高复杂度的攻击,来补充 Burp Intruder 的功能。以下特性使其与众不同: - **快速** - Turbo Intruder 使用了一个为速度而从头手工编写的 HTTP 栈。因此,在许多目标上,它甚至能显著超越时髦的异步 Go 脚本。 - **可扩展** - Turbo Intruder 可以实现平缓的内存使用,从而实现可靠的多日攻击。它也可以通过命令行在无界面环境中运行。 - **灵活** - 攻击使用 Python 进行配置。这使其能够处理复杂的需求,例如签名请求和多步骤攻击序列。此外,自定义 HTTP 栈意味着它可以处理那些会导致其他库崩溃的畸形请求。 - **便捷** - 无聊的结果可以通过改编自 Backslash Powered Scanner 的高级差异算法自动过滤掉。这意味着你只需点击两下即可发起攻击并获得有用的结果。 另一方面,它确实更难使用,而且网络栈也不像 Burp 核心那样可靠且经过实战检验。由于这是一个仅供高级用户使用的工具,我不会为任何在使用上遇到困难的人提供个人支持。另外我需要说明,它是为向单个主机发送大量请求而设计的。如果你想向大量主机发送单个请求,我推荐 ZGrab。 #### 文档 要开始使用 Turbo Intruder,请参阅 https://portswigger.net/blog/turbo-intruder-embracing-the-billion-request-attack 的视频和文档 #### 开发 构建方式: Linux: `./gradlew build fatjar` Windows: `gradlew.bat build fatjar` 从 `build/libs/turbo-intruder-all.jar` 获取输出 ### 单数据包攻击参考实现 如果你有兴趣创建自己的 [单数据包攻击](https://portswigger.net/research/smashing-the-state-machine#single-packet-attack) 实现,可以在以下位置查看 Turbo Intruder 的参考实现: [src/SpikeEngine.kt](https://github.com/PortSwigger/turbo-intruder/blob/89f76a82974f07b1529432bf880157aed5c98045/src/SpikeEngine.kt) 和 [src/SpikeConnection.kt](https://github.com/PortSwigger/turbo-intruder/blob/89f76a82974f07b1529432bf880157aed5c98045/src/SpikeConnection.kt) 该参考实现是基于 Burp Suite 的原生 HTTP/2 栈构建的。使用任何提供帧级接口的 HTTP/2 库应该都可以实现类似的实现。我曾见过 Golang 的 HTTP/2 栈被用于某些帧级攻击,因此这可能是一个不错的选择。
标签:Burp Suite 插件, CISA项目, HTTP 协议, HTTP 请求, JS文件枚举, PE 加载器, PoC, PortSwigger, Python, Web 安全, 云资产清单, 应用层攻击, 性能测试, 数据包构造, 无后门, 暴力破解, 网络安全, 自动化攻击, 逆向工具, 逆向工程, 隐私保护, 高并发