当前位置:首页 > 探索

burpsuite工具

Burp Suite 最值钱的功能不是扫描器,是 Proxy。很多人装了它,打开默认配置,点几下 Scanner,然后说“这工具也就那样”。问题出在他们根本没碰对地方。

我见过一个渗透测试项目,目标是一个带验证码的登录接口。同事用扫描器跑了一下午,报告里全是“低危:缺少安全头”。我把他拦下来,让他把浏览器代理挂到 Burp 的 8080 端口,打开 Intercept,手动点了一次登录。请求被截住的那一刻,他愣住了——验证码的校验逻辑居然写在客户端 JavaScript 里,服务端只检查了一个布尔值。改包,重放,直接进后台。整个过程不到十分钟。

这就是 Burp 的核心:它让你看见 HTTP 对话的原始模样。浏览器里点一个按钮,背后可能是三四个请求,参数藏在 JSON body、cookie、甚至自定义 header 里。Proxy 把这些全摊开,你才能动手改。

Repeater 才是日常主力

Scanner 会误报,Intruder 跑起来慢,真正干活靠 Repeater。它的逻辑简单到粗暴:把请求丢进去,改一个参数,点 Send,看响应。反复试。

比如测一个 IDOR(不安全的直接对象引用)。URL 是 /api/user/1024/profile。把 1024 改成 1025,响应里出现了另一个用户的邮箱和手机号。再改成 1026,继续出。这时候你不用写脚本,Repeater 里按 Ctrl+R 就能把请求发到 Intruder,挂上 payload 位置,跑一遍 1000 到 2000,结果里筛 200 状态码。五分钟拿到全量用户数据。

有个细节:Repeater 的响应对比功能(右键 -> Compare)经常被忽略。测越权时,把管理员和普通用户的响应并排看,差异部分高亮出来,比人眼扫快得多。

Intruder 的四种攻击类型,别只会 Sniper

Sniper 一次只改一个参数,适合撞单个字段。但实战里更常用的是 Cluster bomb——两个参数同时变。比如用户名和密码组合爆破,或者测参数污染时同时改两个值。

Pitchfork 是同步变化,Battering ram 是所有位置用同一个 payload。听起来绕,用一次就明白。我测过一个短信轰炸漏洞,手机号和验证码两个参数,用 Cluster bomb 把手机号字典和验证码字典交叉跑,十分钟找到未限制频率的接口。

速度方面,默认配置下 Intruder 慢得让人想砸键盘。把线程数调到 20 到 30,资源池设成“最大并发请求数 10”,能快不少。但别调太高,有些 WAF 会直接封 IP。

那些藏在右键菜单里的东西

Proxy 历史记录里右键,有个“Do passive scan”。它不会发新请求,只分析已有响应。有时候扫出来的信息比主动扫描还多——比如响应头里泄露的服务器版本、框架路径、甚至内网 IP。

另一个实用功能是“Generate CSRF PoC”。选中一个 POST 请求,右键生成 HTML 表单,自动填好参数。拿去钓鱼或者交报告都省事。

还有 Decoder。JWT 的 payload 是 base64,丢进去解一下就能改。改完再编码回去,替换原请求里的 token。很多系统的 JWT 签名校验有漏洞,比如接受 none 算法,或者密钥太弱。Decoder 配合 Repeater,十分钟测完一轮。

BApp Store 里值得装的插件

Logger++ 比自带的 HTTP history 强太多。它能记录所有工具的请求,支持正则过滤、颜色标记、导出 CSV。跑完 Intruder 后,用 Logger++ 筛状态码 200 且响应长度异常的请求,比在 Intruder 界面里翻快十倍。

Autorize 是测越权的神器。挂上低权限用户的 cookie,它自动把高权限请求重放一遍,对比响应。省去手动改 cookie 的麻烦。

Turbo Intruder 适合跑大量请求。用 Python 写脚本,直接调 Burp 的引擎。测并发漏洞时,比如条件竞争,它比 Intruder 快一个数量级。

最后说一句:Burp 社区版够用了。Pro 版的扫描器确实省事,但手动测试的深度是自动化替代不了的。把 Proxy、Repeater、Intruder 这三个玩熟,比装一堆插件管用。

分享到: