如何使用Burpsuite抓取手机APP的HTTPS数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Burpsuite抓取手机APP的HTTPS数据相关的知识,希望对你有一定的参考价值。

1.所需条件
· 手机已经获取root权限
· 手机已经成功安装xposed框架
· 电脑一台
2.详细步骤
2.1 在手机上面安装xposed JustTrustMe
JustTrustMe是一个去掉https证书校验的xposed hook插件,去掉之后就可以抓取做了证书校验的app的数据包。JustTrustMe在github的地址位: https://github.com/Fuzion24/JustTrustMe
安装好模块之后勾选JustTrustMe模块,然后重启手机

2.2 配置burpsuite
打开burpsuite,切换到Proxy,然后切换到下面的Options选项,然后点击add,然后配置好端口,ip选择本机的ip地址,然后点击ok添加

将running框勾选上

2.3 导入burpsuite证书
在电脑端使用Firefox浏览器访问设置的代理ip:端口,下载burpsuite证书,比如我上面的ip为192.168.1.105,端口为8080,就访问http://192.168.1.105:8080/然后去下载证书

点击CA certificate下载burpsuite的证书,保存证书文件

进入Firefox的设置里面,选择高级,然后选择证书,点击查看证书

然后选择服务器,点击导入,导入刚刚下载的cacert.der证书,导入之后会多一个PortSwigger的证书,选中它,然后点击导出,选择X.509证书,然后重新命名导出,这里之所以要这样导出证书,是因为手机上面识别不了burpsuite默认导出的证书格式,要转换一下。

导出之后,将证书放到手机的sd卡中,然后进入手机设置,安全,从sd卡安装,然后选择放到手机的证书文件,如果手机没有设置锁屏密码,这里会要求设置手机锁屏密码。不同的手机导入略微有些不同,但是都是在设置,安全设置里面去导入证书。

点击从sd卡安装就可以选择sd卡中的证书文件,然后安装了。
2.4 在手机上配置代理服务器
进入手机设置,WLAN,将手机和wifi连接到同一个路由器上面,然后设置wifi,有些手机是长按当前连接的wifi进行设置,有些是点击向右的箭头进行设置,这里两中都说一下
第一种:
进入设置,点击wlan,然后长按当前连接的wifi,选择修改网络,滑到最下面,勾选显示高级选项,然后选择代理设置为手动代理服务器主机名字填电脑ip,端口填你刚刚设置的端口。然后确定,就设置成功了。

第二种:
进入设置,wlan,点击当前连接的wifi最右边的向右详情图标,打开编辑当前连接的wifi,然后将代理设置选择为手动,主机名填电脑ip地址,端口填刚刚在burpsuite里面设置的地址,然后点击确定保存,就设置成功了。

设置好之后便可以抓取https的数据包了,带证书校验的也可以正常抓取,如果不装JustTrusMe插件,就不能抓带证书校验的app的https数据包。

使用burpsuite抓取https的教程到这里就结束了。
参考技术A APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外)。所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议、Websocket、socket协议,一般来说,HTTP协议最多,Websocket是后起之秀,socket最少,而针对HTTP和websocket,Burp Suite工具是最适合不过的工具了。但是在遇到了app使用SSL或TLS加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败。本文介绍如何使用Burp suite抓取https包。

Burpsuite如何抓取使用了SSL或TLS传输的 IOS App流量

之前一篇文章介绍了Burpsuite如何抓取使用了SSL或TLS传输的Android App流量,那么IOS中APP如何抓取HTTPS流量呢,

套路基本上与android相同,唯一不同的是将证书导入ios设备的过程中有些出路,下面进行详细介绍。

 

以抓包工具burpsuite为例,如果要想burpsuite能抓取IOS设备上的HTTPS流量首先是要将burpsuite的证书导入到ios设备中,

burpsuite的证书如何获取并保存在本地pc上请参考here

 

burpsuite的证书拿到了后就要在ios设备上安装了,网上有很多资料显示要安装证书需要在IOS设备的

[设置]->[通用]->[描述文件]功能里添加,问题是如果你从来没有安装过相关证书的话“描述文件”这个选项

是不会显示出来的,如下图所示

重点来了,我们可以通过在Safari上访问包含证书文件的下载地址,通过下载文件的打开方式间接调用

文件描述来执行证书安装,问题又来了,包含证书文件的下载地址在哪里,也就是说burpsuite的证书在哪里下载,

有一种比较笨的方法就是将之前已经下载好保存在本地PC的burp证书文件上传至百度云,然后通过下载功能找到文件的网络地址,

操作如下:

  •  上传证书到百度云,然后点击下载

  • 点击下载后弹出保存的窗口,该窗口中会有文件网络地址,记录下该地址。

接下来,将上一步中保存的链接在Safari上访问,此时IOS设备会弹出以下安装描述文件的提示:

点击安装,会提示你输入IOS设备的解锁密码,继续调到如下页面

继续安装,安装后通用的页面则有了“描述文件”模块

进入该模块后发现了我们刚刚安装的证书

 

到此,burpsuite证书的导入已经完成,剩下的就是在PC端配置burpsuite的代理,设置监听端口,

然后在IOS设备匹配相应的IP与端口就可以抓取HTTPS流量包了。

以上是关于如何使用Burpsuite抓取手机APP的HTTPS数据的主要内容,如果未能解决你的问题,请参考以下文章

苹果手机app怎么burpsuirt抓包怎么设置

如何抓取安卓App Http请求的数据包

使用burpsuite等代理工具抓取docker容器中的数据包

App逆向——安卓7以上如何安装抓取https的包

App逆向——安卓7以上如何安装抓取https的包

简单5步,轻松搞定Burpsuit抓取Https数据包