夜神模拟器之burp抓包

引言

如果你要抓取某APP的数据包按照其他文章那样直接导出burp.rec并安装是没法抓取app数据包的

什么是SSL Pinning?这里引用一下大佬的解释

(11条消息) App 抓包提示网络异常怎么破?_芒果不是程序猿的博客-CSDN博客_为什么一抓包就没有网络

在 https 的建立连接过程中,当浏览器向服务端发送了连接请求后,服务器会发送自己的证书(包括证书有效期、颁发机构等)给浏览器,浏览器首先在本地根证书区域寻找是否有这个服务器证书的 CA 机构的根证书。如果有继续则下一步会进行验证服务器端的证书,如果没有弹出警告。验证通过后经过一系列服务器和客户端的信息交换,双方最终建立了通讯。

那为什么能抓到浏览器HTTPS包呢?

原因就是在浏览器面前 Fiddler 伪装成一个 https 服务器,用户可以自由的将 Fiddler 的伪装证书导入到浏览器内置的根证书中。此时 Fiddler 作为中间人在真正的服务器面前伪装成浏览器的角色。

明白上述一点之后,我们再回到 App 客户端,App 默认是信任系统(Android or iOS)用户第三方安装的的 CA 证书的,有一些 App 能够通过 Fiddler 抓到包的原因是因为:我们可以在系统的用户 CA 证书集中添加 Fiddler 的证书。这样 App 就能信任证书是安全的,放心的发送请求了。

但是现在随着系统的更新,Google or Apple 认识到安全越来越重要,所以就引入 SSL-Pinning 技术:
开发者预先把证书相关信息预置到 App 中再打包,这样在 https 通讯过程中 App 本地可以与服务器返回的证书可以做合法性校验,如果发现不一致,那么可能就是由于中间人攻击(比如 Fiddler/Charles 抓包工具),App 客户端可以终止 https 链接。而在新版本的系统规则中,应用只信任系统默认预置的 CA 证书,如果是第三方安装的证书(比如 Fiddler 安装的)则不会信任。

解决方案:

原文章:

(11条消息) 夜神模拟器安装证书之burp抓包_大 雾的博客-CSDN博客_夜神模拟器抓包

我们要先准备两款工具

ADB工具下载

openssl工具下载

将下载好的ADB工具配置环境变量

在开始键中找到设置

 在查找设置中输入环境变量,选择系统环境变量

 点击环境变量

在下方的系统变量中选择Path然后点击编辑

 将工具ADB和openssl的绝对路径放进去

在命令行中输入adb --version 查看是否安装成功

 使用命令行进入openssl的安装路径

使用burp导出一个证书

 

 

导出证书以后在命令行输入cd Desktop进入桌面

执行命令,将cer文件转换为pem文件,输入之后桌面会出现两个文件

openssl x509 -inform der -in burp.cer -out burp.pem

 

openssl x509 -subject_hash_old -in burp.pem //获取hash结果里证书的名称

我们将桌面上的burp.pem改名为获取的hash.0

将更改好的文件直接拖入模拟器中,我们需要点击三个冒号选择复制

 将其复制来system/etc/security/cacerts下目录

然后重启模拟器

然后你就能成功抓到APP包了

这里要感谢两位博主的无私贡献

(11条消息) 夜神模拟器安装证书之burp抓包_大 雾的博客-CSDN博客_夜神模拟器抓包

(11条消息) App 抓包提示网络异常怎么破?_芒果不是程序猿的博客-CSDN博客_为什么一抓包就没有网络

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值