1. BurpSuite入门:为什么你需要掌握抓包技术
第一次打开BurpSuite的新手往往会对着满屏的功能按钮发懵——这个看起来像黑客工具的界面到底该怎么用?其实它的核心功能比你想象的简单:就像快递中转站检查包裹一样,它能拦截所有经过的网页请求,让你查看、修改甚至伪造数据。我刚开始做安全测试时,用BurpSuite发现了某网站修改商品价格参数就能0元购的漏洞,从此明白抓包工具的重要性。
抓包技术主要解决三类实际问题:
- 安全测试:修改请求参数探测漏洞,比如把userID=100改成userID=101看能否越权访问
- 接口调试:查看APP与服务器的真实数据交互,排查支付失败等问题的根源
- 数据分析:观察电商网站如何传递商品库存信息,研究竞品业务逻辑
2. 从零配置代理环境
2.1 安装与基础设置
启动BurpSuite后别急着抓包,先完成这三个关键步骤:
检查监听端口
点击Proxy → Options,确认默认的8080端口处于运行状态(Running打勾)。就像快递站要有门牌号,这个端口是数据包的必经之路。如果端口被占用(比如你同时开了Charles),可以点击Edit改成8181等冷门端口。配置浏览器代理
推荐Chrome安装SwitchyOmega插件(比系统代理设置更方便)。新建情景模式,在HTTP代理栏填写:地址:127.0.0.1 端口:8080(与Burp监听端口保持一致)实测Edge浏览器自带的代理设置经常失效,而Firefox的隐私模式会绕过代理,这些都是我踩过的坑。
验证代理连通性
在浏览器访问http://burpsuite,正常情况会显示BurpSuite的欢迎页。如果报错,检查:- 防火墙是否放行Java进程
- 浏览器插件是否冲突(如广告拦截器)
- 是否误勾选"不使用代理的地址列表"(常见于校园网环境)
2.2 拦截开关的隐藏技巧
点击Proxy → Intercept,这个红色按钮就像快递分拣机的急停开关:
- 拦截模式:每次请求都会暂停等待人工审查(适合精细调试)
- 放行模式:记录请求但不中断(适合批量抓包)
高级用法是配合拦截规则(Proxy → Options → Intercept Client Requests):
^.*login.*$ → 只拦截含login关键字的请求 \.(jpg|png)$ → 忽略图片请求提升效率3. HTTPS抓包的特殊处理
3.1 证书安装指南
遇到HTTPS网站出现安全警告?就像快递站要获得拆检加密包裹的授权,你需要安装BurpSuite的CA证书:
- 浏览器访问http://localhost:8080(确保代理已生效)
- 点击"CA Certificate"下载证书文件
- 在系统证书管理器(certmgr.msc)中导入到"受信任的根证书颁发机构"
避坑提示:安卓手机抓包需额外操作:
# 将证书转换成手机可识别的格式 openssl x509 -inform DER -in cacert.der -out cacert.pem adb push cacert.pem /sdcard/Download/然后在手机设置中安装证书,iOS设备还需手动开启证书信任(设置→通用→关于本机→证书信任设置)
3.2 解决顽固HTTPS拦截失败
某些APP(如微信小程序)会启用证书固定(Certificate Pinning),常规方法无法拦截。这时候需要:
- 使用objection工具绕过SSL验证:
objection -g com.example.app explore --startup-command "android sslpinning disable" - 或配合Frida脚本hook证书校验逻辑
实测某银行APP采用双向证书校验,需要反编译后修改smali代码才能成功抓包,这类高级技巧后续可以单独展开。
4. 实战案例:电商网站漏洞挖掘
4.1 价格参数篡改测试
以某电商平台为例,拦截加入购物车请求:
POST /addToCart HTTP/1.1 ... {"productId":123,"price":29900,"quantity":1}尝试修改price值为0,如果服务器未校验,就能实现0元购。去年某平台漏洞正是这样被白帽子发现。
4.2 越权访问检测
拦截获取用户信息的API请求:
GET /user/profile?userId=10086 HTTP/1.1将userId改为其他用户ID,如果返回非本人数据,就存在水平越权漏洞。建议使用Burp的Intruder模块批量测试ID范围。
5. 效率提升技巧
5.1 自动化过滤规则
在Proxy → Options配置Match and Replace规则:
匹配:Cookie: session=.* 替换:Cookie: session=恶意注入内容这样所有请求会自动替换session值,无需手动修改。
5.2 手机抓包配置
安卓手机连接同一WiFi后,配置代理为电脑内网IP:
192.168.1.100:8080电脑端Burp需修改监听地址为"All interfaces"。遇到抓不到包的情况,检查:
- 手机和电脑是否同网段
- 企业WiFi是否隔离设备通信
- 手机APP是否使用自签名证书
6. 安全防护建议
为防止他人利用BurpSuite攻击你的网站,建议开发人员:
- 关键接口启用签名校验(如HMAC-SHA256)
- 敏感操作使用一次性Token
- 服务端对参数进行强类型检查
某次我测试自家系统时,发现通过Burp修改Content-Length头就能导致服务崩溃,及时修复避免了被黑客利用。