APP、小程序、公众号抓包
- 一、APP抓包
- (一)BurpSuite抓取手机HTTP数据包
- 1、配置代理IP与端口
- 2、测试
- (二)BurpSuite抓取手机HTTPS数据包
- 1、安装证书
- 2、测试
- (三)抓不到包?
- 1、原因
- 2、解决思路
- 3、解决过程
- 二、抓取PC端第三方软件数据包
- 流程演示:
- 1、安装证书
- 2、搭建配置Proxifier
- 3、测试
- 三、BurpSuite抓取微信小程序/公众号数据包
- 流程演示:
- 1、安装证书
- 2、Proxifier搭建
- 3、测试
一、APP抓包
(一)BurpSuite抓取手机HTTP数据包
思路:本地主机作为手机的代理服务器,手机APP发送的数据包会直接发给代理服务器,再由代理服务器进行转发。
准备工作:手机与本地主机连上同一wifi
1、配置代理IP与端口
查看主机IP
可以在主机使用win+R调出运行框,输入命令cmd进入命令提示符界面,输入ipconfig查看IP:
查看手机IP是否正常配置
测试连通性
在手机上设置代理:
在BurpSuite设置拦截经过本地主机的数据包:
打开BurpSuite依次点击:Proxy - Options - Add 添加一个监听IP与端口(端口和IP与手机端添加的代理一致)
设置好了后,在“Proxy - Intercept 下开启“Intercept is on”就可以对安卓APP的网络数据进行抓包了
2、测试
手机端随便打开一个app,就会发现数据已经抓到,可以在HTTP history查看
(二)BurpSuite抓取手机HTTPS数据包
抓取HTTPS包需要导入Burp的证书。特别注意:一个Burp对应一个证书,就是用哪个Burp抓包就导出哪个的证书,并将该证书在手机上安装。
1、安装证书
有两种方法导出证书:
一是直接在BurpSuite导出证书,二是手机端直接访问代理服务器的IP加端口
方法一:
依次点击 Proxy - Options 选中代理项,点击import\export CA
选择第一个,然后点击Next
选择保存CA证书的路径,注意文件后缀命名为.cer,因为手机只能安装.cer的证书类型,默认的der格式是不能被识别安装的。
方法二:
手机访问代理服务器192.168.1.5:8888,点击CA Certificate 进行证书的下载
在手机端下载完证书后,依次点击 设置 - 安全 - 从SD卡安装
找到证书下载的位置点击进行安装
安装完成后可以在 设置 - 安全 - 信任的凭据 看到。
2、测试
随便打开一个APP或者用HTTPS协议访问任意网站
成功抓取到数据包
(三)抓不到包?
参考文档 https://www.cnblogs.com/NoId/p/16500110.html
1、原因
一般情况下手机在安装了BurpSuite的伪证书后,是可以抓大部分APP数据包的,但APP在安卓7.0或更高的系统下,无法抓取数据包,原因是从安卓7.0开始应用只会信任系统预装的CA证书,而不会信任用户安装的CA证书。
这种的情况下,一个解决方法就是使用低于7.0版本的安卓系统进行抓包,另一个就是把使用的伪证书安装到系统证书目录中,伪装成系统证书。
下面演示将使用的伪证书安装到系统证书目录中的方法和过程。此方法也适用于抓取微信小程序的数据包。
2、解决思路
1 使用openssl将der证书转为pem证书,生成pem证书的hash,生成要使用的证书。
2 使用adb调试功能,将证书放到系统证书目录中。
3、解决过程
在安卓7.0或者更高的系统下,如果是只把burp证书装到了用户证书中,APP打开后无法正常使用
如下,APP加载不出来
在手机端导出证书(方法和前面一样)
打开kali终端,依次执行以下命令:
将导出的证书转pem证书:
penssl x509 -inform der -in burp.der -out burp.pem
生成pem证书的hash:
openssl x509 -inform PEM -subject_hash_old -in burp.pem
重命名/复制证书: (将证书文件重命名为“Hash值.0”,如下)
cp burp.pem 9a5ba575.0
之后将证书文件导出,然后上传到手机端的 /system/security/cacerts/ 目录下
赋权:长按文件点击属性,下滑,点击权限,给证书文件644权限
这样就可以正常抓包,正常使用APP内的内容
二、抓取PC端第三方软件数据包
PC客户端的第三方软件一般不支持代理,除了个别会在软件内设置有代理功能,如百度网盘
所以要使用Proxifier工具,用于解决代理问题。
关于Proxifier
Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。
由于一般的C/S客户端不能设置代理,所以我们FIddler检测不到数据,我们可以通过Proxifer来实现把所有的请求抓发给Fiddler,这样我们就可以在Fiddler分析客户端请求。
思路:
使用proxifier添加一台代理服务器,这里是本地主机作为代理服务器,数据包会先经过本地主机,然后使用BurpSuite监听或拦截经过主机的数据。
流程演示:
1、安装证书
首先跟前面手机APP抓包一样,导出证书到本地主机,将导出的证书在本地主机进行安装。
一路点击下一步到结束,将证书成功安装。
2、搭建配置Proxifier
①为proxifier添加代理服务器
打开proxifier,点击 配置文件 - 配置代理服务器
添加代理服务器
②打开任务管理器,选择客户端进程,找到所在程序目录
复制该程序的路径
③配置代理规则
点击 选择配置文件 - 配置代理规则
将默认规则勾选为Direct,然后点击添加
Direct表示数据包直接通过,也可以设置代理,走代理服务器
点击浏览,找到复制的路径所在的目录,选择程序
最后选择代理拦截
④启动代理支持
依次点击 高级 - HTTP代理服务器
勾选 启用HTTP代理服务器支持 功能
重新勾选BurpSuite代理选项,就可以抓包了
3、测试
随便点击播放音乐
成功抓包
三、BurpSuite抓取微信小程序/公众号数据包
参考文档:https://blog.csdn.net/weixin_45031612/article/details/12741631
抓取微信小程序/公众号的包需要抓取指定程序的包,可以在PC端登录微信,这样方便些,在PC端操作就要使用Proxifier工具,用于解决代理问题。
下面以小程序抓包作为示例
流程演示:
1、安装证书
首先跟前面手机APP抓包一样,导出证书到本地主机,因为这次是微信小程序抓包,可以直接在本地主机登录微信进行抓包。
将导出的证书在本地主机进行安装
一路点击下一步到结束,将证书成功安装。
2、Proxifier搭建
①添加代理服务器
打开proxifier,点击 配置文件 - 配置代理服务器
添加代理服务器
②配置代理规则
点击 选择配置文件 - 配置代理规则
将默认规则勾选为Direct
默认规则勾选为Direct是为了不影响除测试程序外的其它程序的正常上网。
③打开任务管理器,选择小程序进程,找到所在程序目录
复制路径打开Proxifier添加代理规则,将微信的应用添加上,设置走刚刚添加的代理服务器
3、测试
打开任意一个小程序,成功抓取到数据包