目的: 抓取某 app 的请求.

工具: fiddler

具体实施是基于 windows-xp 的 vituralbox. 需安装:

fiddler v4.6.20173.38786
certmaker 插件(至少要上面的版本)
对应的.net framework

virtualbox 需要设置桥接,让 vhost 也有1个静态 ip,可供外网访问:

Screenshot from 2019-03-27 18-29-44-8e4a79e8-6c7e-44a0-ba0d-7f8c89164b85

同时,xp 里,注意关掉防火墙.

移动端:

设置代理服务器,也就是fiddler server所在的主机ip,即上面的xp的主机ip.
按提示安装证书,ios,android各有不同.

https

在移动端浏览器访问 baidu.com,看到 ssl 被破解了.但 app 死活连不上。折腾后,了解 app 采用了一种叫ssl spinning的做法, 大致是 app 把真实 https 服务器的证书写死在客户端里,(一般情况不需要,但是 fiddler 正利用了这点做了中间人伪造), 因此 fiddler 伪造的证书无法在 app 端校验通过.

https://zhuanlan.zhihu.com/p/56397466

https://www.zhihu.com/question/58723012

https://zhuanlan.zhihu.com/p/60392573