有时候需要对境外的APP,例如youtube,facebook(IOS平台测试不通过,可能是因为wifi代理检测)抓包。。。那就会引出了个问题,打开VPN,以及使用WIFI代理去抓包。。。压根就是抓不到包,,,原因是为啥呢???原因很简单呐,那就是,流量都通过VPN跑了,跑了,跑了!王八蛋黄鹤带着他的小姨子跑了!…压根就没有通过Charles等一些列的抓包工具(Wireshark等网卡抓包咱暂时不谈,因为我不会。。。)。不打开VPN,由于国内环境,又访问不了网站,硬伤呐。。。
不扯那么远了,回到正题。
本文使用的工具是Charles。
其实我还是比较喜欢Burpsuite Community,因为有时候重新修改请求再发送,用Charles,真的很容易误操作。。。导致很少使用Charles,另外就是我使用的是免费体验版本,每次三十分钟就要强制关闭我,对他的好感就下降了很多。。。
另外Burpsuite 也是有硬伤的,就是会漏包!!!致命点,,,算了,看他那么好用,还是使用它吧,毕竟他是可以跟Frida的一款插件Brida一起使用。。。牛逼吧。。。简直是无敌了,可以快速验证自己逆向找到的协议所在的类是否为解密类。。。
好东西肯定是藏在里面的呢!!!哈哈哈!!!
Charles的激活码
大佬的传送门 非常感谢!!!1
2
3
4
5
6// Charles Proxy License
// 适用于Charles任意版本的注册码,谁还会想要使用破解版呢。
// Charles 4.2.7目前是最新版,可用。
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
Charles安装
双击666,无脑Next。。。
顺便用上面的密钥激活美滋滋,解除30分钟的限制。。。
激活入口为:Help -> Charles Register。。。
证书安装
配置Charles的代理端口。
打开https://chls.pro/ssl
or
你的ip+port
例如:
- PC:127.0.0.1:8888
- Mobile:192.168.10.19:8888
链接成功会提示你新设备加入,记得选择信任,如下图所示。
记得同意,否则会出现一些莫名其妙的问题的
如果安装失败可以用Keystore Explorer转换为你需要的平台。。。或者导入到谷歌浏览器再导出。。。
推荐是Keystore Explorer。因为有时候在安卓的证书校验的时候,特别是安卓平台双向数据校验,安卓特定的证书格式在PC上不好处理,支持带密码私钥转换为特定的格式的带密钥的私钥。。。强大。。。
另外,在IOS平台,在高版本的平台上(iphone 12.1.4),除了安装证书还得在设置->通用->关于本机->证书信任设置 中设置为信任,否则也是不能正常抓取Https的包的。。。
配置Charles抓取ssl数据,否则导入成功证书也是解析不了的。
Proxy -> SSL Porxy Settings -> SSL Proxying 添加并 *:443。记得激活。。。
插个旁外话,到时候有需要再开一篇专栏来专门分别介绍某一款的APP的具体处理方案。
安卓可以使用Xposed + JustTruseMe来强制绕过证书检测,不过也有局限性。那就是
- WIFI代理检测
- 双向证书检验
- 自定义实现openSSl证书
对以上的场景均不可以。
对于以上场景的解决方案如下:
- WIFI代理的是最好解决的,那就是逆向找到他的X509Certificate证书的子类,屏蔽其checkServerTrusted方法即可。
- 自定义实现openSSl证书,也是Hook,但是难度更大。因为一般实现的都是用openSSL,属于native层的代码,除非是比较熟悉,否则在一些自定义openssl实现中,带有混淆,难度就上升到另外个层次了。
- 双向证书:导入证书,如果需要私钥就带上私钥。。。
重点!!!做笔记了哈!
另外无论是安装证书到PC还是移动端,都要记得对此证书进行信任,否则会被系统或者谷歌浏览器拦截,导致请求无法正常发送出去的。
在导入本机的时候千万要选择到信任到系统层次。以及在谷歌浏览器中,得把证书导入到受信任机构那边。
或者还有其他的方案,请各位大佬赐教!!!小弟感激不尽!
1 | XposedHelpers.findAndHookMethod("a.a.a.op", |
又扯远了,扯淡扯蛋去了。。。强行扶正,顶上去。
如果仅仅为了抓HTTPS的包,以上的步骤就可以解决了,以下设置是为了抓取被墙过的APP的包。即只能通过VPN等代理手段
才能抓取到的包。
获取Shadowsocks 的代理信息
Windows平台直接打开查看代理端口,默认为1080.
配置Charles Shadowsocks 的代理信息
打开Charles Porxy-> External Porxy Settings
- Use external porxy server。
- Web Porxy(HTTP)
- Secure Web Porxy(HTTP)
- SOCKS Porxy
以上的配置均为127.0.0.1:1080(上面获取的代理端口)
接下来就是愉快的抓包了啦。。。这次懒了点,以上的都不带图片了。。。
算了还是贴点图。。。做人不要那么懒呐,即使是周末…
Emoji 表情不要安装!!!玛丹娜,一个半小时就这样子被浪费了,安装几分钟,一个半小时卸载。。。坑的要死,最后还要把模块以及js代码都给清理干净。。。不然目录那边全都是带有¶¶¶符号的。。。
BUG
另外补充个BUG,那就是,以上设置之后,电脑就不能翻墙了,但是手机还是可以的。把Charles关了也不能,得把Shadowsocks关闭然后重新开启才能够再次愉快的翻墙了。。。