最新消息:20210917 已从crifan.com换到crifan.org

【无法解决】安卓游戏加了代理后支付页面时mitmdump报错:TlsException SSL handshake error Error SSL routines ssl3_read_bytes sslv3 alert certificate unknown

安卓 crifan 1001浏览 0评论
折腾:
【未解决】安卓游戏永恒纪元支付页面弹框显示空白不显示内容
期间,给安卓游戏永恒纪元加了mitmdump代理后,在弹框显示支付页面时,显示空白。
其中mitmdump的log中显示:
192.168.31.177:50670: CONNECT 6ib5h.com:443
<< Cannot establish TLS with client (sni: 6ib5h.com): TlsException("SSL handshake error: Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert certificate unknown')])")
TlsException SSL handshake error Error SSL routines ssl3_read_bytes sslv3 alert certificate unknown
mintproxy跳坑集锦_采集小记 – SegmentFault 思否
这个错误可以理解为mitmproxy缺少https的证书,继而导致mitmproxy解析ssl协议出错。
解决办法: 把tls_passthrough.py中的代码整合进我们的监听脚本即可。
mitmproxy -s tls_passthrough.py
->我没记错的话,之前就已经实现了此步骤了
【已解决】mitmproxy代理抓包安卓app数据访问出错:Cannot establish TLS with client sni TlsException
【已解决】提取自动抓包工具中的mitmdump自动保存代理抓包出来的url链接保存到文件
但是现在问题依旧。
不过突然发现,竟然忘了加上,之前加的-k参数了。因为之前整理过了
/Users/crifanli/dev/DevRoot/appcrawler/README.md
注:后续加上`-k`=`--ssl-insecure`:
          * `mitmdump -k -p 8081 -s middleware/Save1.py`
            * 可以避免问题:`Cannot establish TLS with 123.126.37.206:443 (sni: None): TlsException('Cannot validate certificate hostname without SNI’)`
所以去加上:
mitmdump -k -p 8081 -s middleware/Save1.py
结果:
192.168.31.177:50820: CONNECT data.mistat.xiaomi.com:443
<< Cannot establish TLS with client (sni: data.mistat.xiaomi.com): TlsException("SSL handshake error: Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert certificate unknown')])")
192.168.31.177:50820: clientdisconnect
192.168.31.177:50826: clientconnect
192.168.31.177:50826: POST http://m-api.37.com.cn/sdk/enter/
                   << 200 OK 47b
192.168.31.177:50810: clientdisconnect
192.168.31.177:50828: clientconnect
192.168.31.177:50828: CONNECT openapi.baidu.com:443
<< Cannot establish TLS with client (sni: openapi.baidu.com): TlsException("SSL handshake error: Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert certificate unknown')])")
期间也注意到,对于其他ssl的域名,也会出现同样问题
问题依旧。
所以,-k对此问题无影响。
使用mitmproxy嗅探双向认证ssl链接——嗅探AWS IoT SDK的mqtts – ASCII0x03 – 博客园
好像很复杂。不适用于此处。
Cannot establish TLS with client: TlsException(“SSL handshake error”)_学海无涯-CSDN博客
https://blog.csdn.net/andrew_wf/article/details/84991989
找到了windows的处理方法了, 我是因为没有安装证书 才会出现这样的错误,手机端和电脑端都要安卓证书,然后就可以了,证书安装百度有很多
-》好像是这个意思?
此处的macOS中,没有安装mitmdump的证书?
那换个电脑,之前(应该安装过mitmdump的证书的)公司的Mac,去测试看看
不过,去找找之前公司Mac中安装mitmproxy时的过程,看看是否有证书安装了
【已解决】Mac中安装Mitmdump和启动服务
其中只是
brew install mitmproxy
即可。没有所谓的PC端也要 也有安装证书的
而对于设备端的证书,是有的,且之前弄过:
【未解决】用安卓9的红米Note8Pro测试自动抓包工具正常抓包
中的:
【已解决】红米Note8Pro中安装mitmproxy的SSL代理证书
mac mitmproxy 证书
mitmdump Error SSL routines ssl3_read_bytes sslv3 alert certificate unknown
SSL handshake error · Issue #3619 · mitmproxy/mitmproxy
Cannot establish TLS with client – sslv3 alert certificate unknown · Issue #1986 · mitmproxy/mitmproxy
400: SSL handshake error · Issue #420 · mitmproxy/mitmproxy
mintproxy跳坑集锦_采集小记 – SegmentFault 思否
Custom certifaicate used for *.facebook.com – help – mitmproxy
https://discourse.mitmproxy.org/t/custom-certifaicate-used-for-facebook-com/755/4
Just double checking – mitmproxy
【总结】
mitmdump访问部分url出错:
192.168.31.177:50670: CONNECT 6ib5h.com:443
<< Cannot establish TLS with client (sni: 6ib5h.com): TlsException("SSL handshake error: Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert certificate unknown')])")
原因:app内部做了certificate pinning 证书固定 的技术
app内部给证书做了指纹,只允许来自服务器的证书,匹配后才认为是合法的有效的,否则就拒绝
即拒绝那些指纹不匹配的证书
如何解决:修改app的逻辑和规则,允许你(的非法)证书
很明显:是别人的app,自己无法修改。所以:无解
除非你能破解app,重新编译和运行破解后的app,把证书的限制去掉。

此处:被测app是一个安卓游戏app
此处没有时间去折腾破解app
以及也没必要:因为最终方案是希望支持无限多的安卓游戏app,所以一个个破解,也不现实不可行
总之:无解,且放弃

相关:
(1)安卓破解 Certificate pinning:
作者提到了一些关于逆向工程安卓app方面的资料
需要给app打包,用于跳过证书验证,换成自己证书
其相关资料:
Android Security: SSL Pinning. Using SSL in an Android app is easy… | by Matthew Dolan | Medium
Bypassing Certificate Pinning on Android for fun and profit | by Felipe Lima | Medium
https://security-assessment.com/files/documents/whitepapers/Bypassing%20SSL%20Pinning%20on%20Android%20via%20Reverse%20Engineering.pdf
-》
Bypassing SSL Pinning on Android via Reverse Engineering.pdf
-》

转载请注明:在路上 » 【无法解决】安卓游戏加了代理后支付页面时mitmdump报错:TlsException SSL handshake error Error SSL routines ssl3_read_bytes sslv3 alert certificate unknown

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
91 queries in 0.187 seconds, using 23.40MB memory