Burp抓手机App包
说明:
如果要对手机App或者App的服务器进行渗透,首先需要抓到App发出的HTTP请求包。
准备工作:
- 可以连上无线网络的电脑,并且安装好Burp
- 手机,本文以华为手机为例,其他品牌手机的网络代理设置可以自行搜索步骤
1、开启电脑Burp监听
首先电脑需要连接到WiFi,不能使用有线网络,这样才能让手机和电脑处于同一网络环境(如果台式机的有线和手机WiFi是同一个网络环境也可以)。
电脑打开cmd,输入ipconfig -all,查看WLAN的IPv4地址:

比如当前IP是192.168.10.142,记住它,等下要用到。
启动Burp,打开Proxy------Options------Add

在打开的添加窗口中,端口依然填写8080,绑定地址选择刚才看到的那个IP地址,如图:

点OK确定。
这时候监听器要勾选新建的这个而不是默认的:

2、配置手机WiFi代理
首先将手机连接到与电脑相同的WiFi中。
从手机的"设置",进入WLAN设置


长按当前连接的WiFi名字,点击弹出的"修改网络"。

在打开的窗口中,勾选"显示高级选项"

开启代理:点击代理开关,在弹出的窗口中选择"手动"。

开启代理开关之后,需要配置代理:

代理已经配置完了。接下来手机上所有的网络请求都会发送到Burp上。
需要注意:并不是你在操作App的时候才会有网络请求。手机上的App无时无刻都在访问网络,所以会抓到很多无关的包。
建议在手动操作之前才打开Burp的拦截开关,这样可以准确地抓到包。
在Proxy------Intercept打开拦截开关:

比如:手机浏览器打开百度搜索,通信包被电脑上的Burp抓到:

至此,抓包的设置就完毕了。
3、手机安装证书
对于HTTPS的网站,客户端需要用服务器的密钥加密消息以后发出。
当配置了代理,客户端(浏览器)向burp请求证书,但是burp没有证书,浏览器就会提示不安全。或者,使用了服务器的证书加密,burp抓到的是加密以后的消息,是无法查看和修改的。
所以完整的流程是这样的:
客户端先用burp的密钥加密消息。burp解密成明文以后,再用服务器的密钥加密消息。
所以这里要在手机上安装burp的证书。

选择第一个,DER格式证书,点Next

选择保存的CA路径(比如D盘),文件后缀命名为.cer,非常重要,因为手机只能安装.cer的证书类型,默认的der格式是不能被识别安装的。点击保存,然后Next

导出完毕,关闭窗口:

把文件发送到手机,比如用微信的"文件传输助手"。在手机上"用其他应用打开"。

选择"证书安装器"打开,仅一次

写入证书名称,选择WLAN,确定,安装成功。

在设置里面搜索"证书",用户凭据,查看证书:

可以看到已经安装的证书:

4、取消burp抓包
如果不需要抓手机的包了,需要正常访问,取消代理即可。
长按WiFi名字进入设置------显示高级选项------代理,设置为"无",保存,即可

此外,也可以在电脑上安装Android模拟器,这样可以直接在电脑上抓模拟器的包,参考:
H22-Burp抓包逍遥(安卓)模拟器
https://wiki.bafangwy.com/doc/649