1. BurpSuite入门:代理配置与证书安装
第一次打开BurpSuite时,那个黑底红字的启动界面总让我想起黑客电影里的场景。不过别被吓到,这其实是个非常友好的Web安全测试工具。我刚开始用的时候,最头疼的就是代理配置问题。这里分享下我摸索出来的稳定配置方案。
代理设置就像给浏览器和BurpSuite之间搭一座桥。在Proxy→Options里,默认8080端口基本够用,但如果你电脑上已经有服务占用了这个端口(比如某些开发环境),可以改成8181这类不常用的端口。我习惯用Firefox浏览器做测试,因为它的代理设置是独立的,不会影响系统全局网络。在Firefox设置里找到"网络设置",选择"手动代理配置",填入127.0.0.1和刚才设置的端口号。
有个坑我踩过好几次:忘记关代理就退出BurpSuite,结果浏览器完全上不了网。后来我养成了个习惯 - 用浏览器插件SwitchyOmega来快速切换代理状态,比系统设置方便多了。对于HTTPS网站,证书安装是必须的。在浏览器访问http://burp时会看到下载证书的链接,但很多人不知道的是,Windows系统需要把证书手动导入到"受信任的根证书颁发机构"。我遇到过证书安装后仍然报错的情况,后来发现是系统时间不对导致证书验证失败 - 这个细节很少有人提到。
2. 精准定位目标范围
刚开始用BurpSuite时,我总被海量的请求记录搞得头晕眼花。直到学会了Scope(范围)设置,工作效率直接翻倍。在Target→Scope里,可以添加多个目标域名或特定路径。比如测试电商网站时,我会把主站、API接口、管理后台的域名都加进去,但排除掉第三方统计代码的域名。
有个实用技巧:在Proxy→Options里勾选"Intercept requests based on scope",这样只会拦截目标范围内的请求。我测试时经常开着这个功能,配合浏览器插件把测试域名自动加入Scope。Site map(站点地图)是我最爱的功能之一,它能自动绘制出整个网站的拓扑结构。有次测试时,我通过Site map发现了一个本该隐藏的管理后台路径,这个漏洞后来被客户评为高危。
对于大型网站,我建议在开始测试前先花10分钟浏览主要功能,让BurpSuite自动构建Site map。这样不仅能看清全貌,还能发现一些隐藏的接口。右键某个节点可以选择"Spider this host"进行深度爬取,但要注意别把生产环境爬挂了 - 我有次不小心把客户的活动页面爬崩了,现在都会先设置合理的爬取深度。
3. 请求拦截与修改实战
Intercept功能就像给HTTP请求按了暂停键。打开Proxy→Intercept,我习惯先保持关闭状态,等浏览器加载完基础页面再开启。这样能避免拦截大量静态资源请求。当看到感兴趣的请求时,右键选择"Do Intercept"进行精准拦截。
修改请求参数是发现漏洞的捷径。我经常测试的几个点:
- 修改价格参数看能否0元购
- 尝试越权访问其他用户数据
- 在输入框尝试XSS payload
- 修改HTTP方法(GET变POST等)
Action菜单里的"Change body encoding"特别有用,当遇到文件上传功能时,改成multipart/form-data才能正确修改文件内容。有个项目我通过修改图片上传的Content-Type,成功上传了PHP脚本。记得每次修改后要点Forward,否则页面会一直卡住。如果测试时页面卡住,先检查Intercept是否开着,这个低级错误我犯过不止一次。
4. 历史记录与重放技巧
HTTP history就像BurpSuite的"时光机"。我习惯按以下方式过滤记录:
- 只显示目标范围内的请求
- 按状态码排序找异常响应
- 搜索特定关键词(如"admin"、"password")
右键菜单里的"Find comments"能快速定位HTML注释,有次我通过这个功能发现了开发留下的后台密码。Repeater(重放器)是我的主力工具,特别是测试接口时。把请求发送到Repeater后,可以反复修改参数看响应变化。我有个小技巧:在请求里添加"X-Forwarded-For: 127.0.0.1"有时能绕过IP限制。
测试登录功能时,我会用Repeater批量尝试弱密码。先拦截正常登录请求,发送到Repeater后,用Intruder模块自动化测试。遇到加密参数时,可以对比多个请求找出加密规律。有次我发现某个参数只是简单的Base64编码,修改后直接越权获取了所有用户数据。
5. 自动化扫描实战指南
Scanner模块虽然强大,但直接用默认配置扫描很容易把网站扫挂。我的经验是:
- 先在Dashboard新建"Live Task"监控流量
- 手动测试主要功能,收集足够多的请求
- 针对关键功能创建针对性的扫描任务
扫描设置里有个重要选项:"Application login"。配置好登录流程后,扫描器能自动保持会话。我有套固定配置:
- 扫描速度设为"Medium"
- 开启"Audit checks"但关闭"Crawl"
- 排除注销和删除类URL
扫描结果要重点看"Certain"级别的漏洞。有些误报需要手动验证,比如把404页面误报为信息泄露。对于重要项目,我会运行两次扫描 - 第一次用默认配置,第二次针对第一次发现的疑点做深度扫描。记得扫描前备份网站数据,有次我不小心把客户的测试数据库清空了,现在都会先确认是否开启了只读模式。