Charles抓抖音的包为啥都是unKnow

电脑已安装Charles的证书并信任;手机也安装了Charles的证书,描述文件和证书均已信任。小红书啥的App都没问题,就抖音微信这些抓不到。用了SSL kill switch 2好像也没啥作用。
手机:iOS14.2;Mac 11.5;


1 Like

SSL Kill Switch不是银弹

这玩意的主要原理是针对性的适配常用的HTTP库并Hook相关校验方法的返回值

抖音应该是实现了NSURLProtocol

  • 重定向网络请求,解决 DNS 域名劫持的问题
  • 进行全局或局部的网络请求设置,比如修改请求地址、header 等
  • 忽略网络请求,使用 H5 离线包或是缓存数据等
  • 自定义网络请求的返回结果,比如过滤敏感信息
1 Like

用的是自签名证书 当然抓不了了。

嗯,ssl kill switch就是hook那些校验的方法的。就是不知道抖音他们是怎么是咋处理的

这跟证书自签不自签没啥关系吧,主要还是要看客户端验证服务端证书的逻辑

试试 mitmproxy 的透明代理模式

1 Like

可能路由直连,开个代理再连charles试一试

HOOK 一下就可以了

这些可能是 NSURLSession 发的原生网络请求

哈? :star_struck:

这跟TLS握手也没啥关系呀,显示unknown只是TLS握手失败了。Wireshark能看到是客户端没通过Charles的证书

1 Like

这种情况需要 hook 这些原生网络让代码不检查证书

如果看到是客户端check fail的话应该就是做了证书绑定,校验没通过。
至于说ssl kill switch 没搞定也很正常,比如人家自己编个openssl静态链接进去,ssl kill switch 这种肯定搞不定呀。可以参考这篇看下
常规思路就是张总说的那样,针对常用的http库中的校验部分hook他的返回值,如果是自编或者自己实现的那就得针对性去分析。针对你说的两款,好像都是自己实现的~ 看下他是根据哪个库改的然后找找特征呗

2 Likes

友情提示,把charles证书加进去

证书怎么命名啊,以什么格式加进去?

证书绑定了
TTNetworkManager 把Charles的证书加进去

8 Likes

666

1 Like