游客发表
Burp Suite 不是使用那种装完就能上手的工具。我第一次打开它时,教程满屏的使用 Proxy、Repeater、教程Intruder 标签页让人发懵,使用菜单里还藏着一堆没听过的教程模块。后来才明白,使用这东西本质是教程个拦截代理——所有浏览器和服务器之间的流量都得先经过它,你才能看清每个请求长什么样,使用然后决定改哪里、教程怎么改。使用
代理配置是教程第一步。Firefox 上装个 FoxyProxy 插件,使用把 HTTP 和 HTTPS 流量都指向 127.0.0.1:8080,教程Burp 默认监听这个端口。使用浏览器访问任何网站,请求就会卡在 Burp 的 Proxy 模块里等你放行。HTTPS 站点会弹证书警告,得先访问 http://burp 下载 CA 证书导入浏览器信任列表。这一步卡住过不少人,包括我——当时不知道要导入证书,看着满屏红色警告以为工具坏了。
Proxy 的 Intercept 开关打开后,每个请求都会暂停。你可以改 User-Agent、加 Header、替换参数值,点 Forward 才发给服务器。这个功能在测越权时特别顺手:把普通用户的 Cookie 换成管理员的,看服务端认不认。我试过一个后台系统,前端做了按钮隐藏,但后端接口只校验了登录态没校验角色,改个 roleId 参数就能调管理接口。这种漏洞在 Intercept 里改一个数字就能验证。
Repeater 是我用得最多的模块。右键任意请求选 Send to Repeater,就能在独立标签页里反复修改重放。它不自动发包,你改完点 Send 才发一次,响应直接显示在右边。测 SQL 注入时,把参数值换成 ' OR 1=1--,看返回内容长度变化;测 XSS 时,插入 <script>alert(1)</script>,看是否原样输出。Repeater 的好处是干净——没有干扰,一次请求一次响应,适合慢慢磨细节。
Intruder 用来爆破和模糊测试。选中要攻击的参数位置,点 Add 标记 payload 点,然后加载字典。Sniper 模式一次只替换一个位置,Cluster bomb 模式多位置交叉组合。我拿它跑过目录扫描:把 GET /§admin§ 里的 admin 设为变量,加载常见路径字典,根据状态码和响应长度过滤结果。速度比拿 Burp 当扫描器用要慢,但胜在可控——每个请求都能看到原始响应,不会漏掉 302 跳转这种细节。
Scanner 模块只有 Pro 版才有,自动爬站加被动扫描。社区版用户只能手动测,或者装些第三方插件补功能。我装过 Logger++ 记录所有流量,装过 Autorize 自动测越权,装过 JSON Web Token 插件解 JWT。插件生态是 Burp 真正强的地方,官方没做的功能社区基本都补齐了。
最后说个容易踩的坑:Burp 默认不拦截浏览器之外的流量。用 curl 或 Python requests 发包时,得手动设代理 proxies={ 'http':'http://127.0.0.1:8080'},否则请求根本不经过 Burp。我在这上面浪费过半小时,一直以为是脚本写错了。
用熟之后,Burp 更像一个工作台而不是单一工具。拦截、重放、爆破、扫描各管一摊,配合插件能覆盖大半 Web 测试场景。别指望看一遍教程就会,找个靶场比如 DVWA 或 Pikachu,把每个模块点一遍,比读十篇文章管用。
友情链接