1.简介
浏览器的https抓包算是在抓包中比较简单的,原因是相比于apk,浏览器请求无法使用 SSL Pining 。
SSL Pining(证书锁定):我们需要将APP代码内置仅接受指定域名的证书,而不接受操作系统或浏览器内置的CA根证书对应的任何证书,通过这种授权方式,保障了APP与服务端通信的唯一性和安全性,因此我们移动端APP与服务端(例如API网关)之间的通信是可以保证绝对安全。
接下来会记录如何使用 charles 抓取 Android https 请求包。
Tips: 为了使操作更清晰,所以图比较多。
抓包也算MITM吧,文章开始之前可以看看这个 你连 HTTPS 原理都不懂,还讲“中间人攻击”?,看完这个标题有点心虚。
2.将Android的代理设置为 charles
注:Android 和 charles 位于同一wifi下
第一步,打开charles,help-> SSL proxy -> install Charles Root Cerificate on Mobile Dervice Remote Browser
在Android wifi 中设置代理,截图的时候截错了,端口根据上边的charles提示应该是8888
先不安装 charles 的证书,在Android的浏览器访问一下我的博客,看一下情况
charles 抓包情况
3. 将证书安装到 Android
Android 浏览器打开网址:chls.pro/ssl,保存即可
安装证书后,访问一下博客,一切正常
抓包可见一切正常
4. 总结
至此,浏览器https抓包完成。
在apk抓包时,这个方法不一定奏效,下一篇应该是如何绕过 SSL Pining 进行抓包。
当《Android抓包》系列结束时,大部分市面上的app都可以通过本系列的方法抓取。
如果觉得本文对你有帮助,可以点个赞 OR 关注😯