电脑已安装Charles的证书并信任;手机也安装了Charles的证书,描述文件和证书均已信任。小红书啥的App都没问题,就抖音微信这些抓不到。用了SSL kill switch 2好像也没啥作用。
手机:iOS14.2;Mac 11.5;
3 个赞
SSL Kill Switch不是银弹
1 个赞
这玩意的主要原理是针对性的适配常用的HTTP库并Hook相关校验方法的返回值
抖音应该是实现了NSURLProtocol
- 重定向网络请求,解决 DNS 域名劫持的问题
- 进行全局或局部的网络请求设置,比如修改请求地址、header 等
- 忽略网络请求,使用 H5 离线包或是缓存数据等
- 自定义网络请求的返回结果,比如过滤敏感信息
2 个赞
用的是自签名证书 当然抓不了了。
嗯,ssl kill switch就是hook那些校验的方法的。就是不知道抖音他们是怎么是咋处理的
这跟证书自签不自签没啥关系吧,主要还是要看客户端验证服务端证书的逻辑
试试 mitmproxy 的透明代理模式
可能路由直连,开个代理再连charles试一试
1 个赞
HOOK 一下就可以了
这些可能是 NSURLSession 发的原生网络请求
哈?
这跟TLS握手也没啥关系呀,显示unknown只是TLS握手失败了。Wireshark能看到是客户端没通过Charles的证书
1 个赞
这种情况需要 hook 这些原生网络让代码不检查证书
如果看到是客户端check fail的话应该就是做了证书绑定,校验没通过。
至于说ssl kill switch 没搞定也很正常,比如人家自己编个openssl静态链接进去,ssl kill switch 这种肯定搞不定呀。可以参考这篇看下
常规思路就是张总说的那样,针对常用的http库中的校验部分hook他的返回值,如果是自编或者自己实现的那就得针对性去分析。针对你说的两款,好像都是自己实现的~ 看下他是根据哪个库改的然后找找特征呗
2 个赞
友情提示,把charles证书加进去
1 个赞
证书怎么命名啊,以什么格式加进去?
1 个赞
666
2 个赞