当前位置:首页 > 百科

burpsuite教程

Burp Suite 最有价值的功能不是扫描器,是 Proxy 里的 Intercept。把浏览器流量拦下来、改一个参数、放行、看服务器怎么回,这个循环才是日常干活的核心。很多人装上 Burp 第一件事就是点 Scanner 去扫漏洞,扫完导出一份报告交差。这种用法浪费了工具。

先解决代理配置。Firefox 装 FoxyProxy 插件,指向 127.0.0.1:8080。Burp 默认监听这个地址。浏览器访问 http://burp 下载 CA 证书,导入到 Firefox 的证书管理器里,选“信任此 CA 标识网站”。HTTPS 流量就能正常解密了。Chrome 现在不走系统证书库,得用命令行参数启动,麻烦,所以我测试时基本只用 Firefox。

Intercept 默认是开的,每个请求都会卡住等你操作。实际用的时候我一般关掉它,让流量直接过,需要抓哪个请求再开。Proxy 历史记录里所有请求都在,右键 Send to Repeater 就行。Repeater 是第二个核心模块,改包重放,看响应差异。测试 SQL 注入时,在参数后面加个单引号,对比正常请求和报错请求的响应长度、状态码、返回内容,基本能判断有没有注入点。

Intruder 用来做爆破和模糊测试。四种攻击类型里,Sniper 最常用,一个 payload 位置逐个替换。Cluster bomb 是多位置笛卡尔积组合,适合用户名密码同时爆破。但 Intruder 社区版限速,一秒一个请求,跑大字典不现实。我一般只拿它做小范围验证,比如测试验证码能不能重复使用,或者几个参数值的排列组合。真要跑大字典,用 ffuf 或者 hydra 更快。

有个细节容易忽略:Burp 的 Target Scope 设置。把目标域名加进 Scope,Proxy 历史里就只显示相关请求,不然一堆浏览器后台请求混在一起,找起来很烦。Scope 里还能配高级选项,比如排除静态资源后缀,.js .css .png 这些不记录,历史列表干净很多。

Repeater 里有个实用功能是“Request in browser”。把请求发给浏览器,用当前登录态重新发一次。测试越权的时候特别有用——用 A 用户的 session 构造一个访问 B 用户资源的请求,在浏览器里发出去,看能不能拿到数据。比手工复制 cookie 到 curl 里快得多。

插件生态是 Burp 的加分项。BApp Store 里我常装三个:Logger++ 记录所有请求响应,方便事后翻;Autorize 自动做越权检测,配好低权限 cookie 后它会把所有请求重放一遍对比;Turbo Intruder 绕开社区版限速,用 Python 脚本控制发包节奏,适合跑 race condition 测试。

最后说个坑。Burp 默认不记录 WebSocket 流量,测试实时通信功能时得在 Proxy 设置里手动开启 WebSocket 拦截。另外 HTTP/2 流量在 Repeater 里偶尔会显示成乱码,切回 HTTP/1.1 重新发送就正常了。这些不是大问题,但第一次遇到会卡一会儿。

工具本身不复杂,关键是养成“拦截—修改—重放—对比”的条件反射。看到任何参数都想改一下试试,这个习惯比背多少漏洞类型都有用。

分享到: