首页
社区
课程
招聘
[原创]Frida Bypass Android SSL pinning example 1
发表于: 2018-11-24 23:44 10340

[原创]Frida Bypass Android SSL pinning example 1

2018-11-24 23:44
10340

在l.cNi中有个函数m16620使用的 X509TrustManagerExtensions.checkServerTrusted 获取证书链

Android源码中X509TrustManagerExtensions.checkServerTrusted的定义

X509Certificate[] chain 是当前域名的证书

String host 是当前域名

不打开Charles,看看checkServerTrusted的参数和返回值

打开Charles,看看checkServerTrusted的参数和返回值

那么我们要绕过他的证书校验,只需要每次都给checkServerTrusted的arg0传入真正的证书就可以了。

以下是frida的脚本

 

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-11-25 00:10 被Imyang编辑 ,原因:
收藏
免费 5
支持
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  junkboy   +1.00 2018/11/25
最新回复 (6)
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持一下
2018-11-25 00:10
0
雪    币: 3907
活跃值: (5817)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
3
已经被人发了无数遍了。。。
2018-11-25 16:32
0
雪    币: 14865
活跃值: (6088)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
https协议,目前大部分APP不是直接使用代理进行get或post,而是使用connect命令后让代理变成转发包的工具,替换证书根本行不通。
最后于 2018-11-28 08:54 被tDasm编辑 ,原因:
2018-11-27 11:07
0
雪    币: 36
活跃值: (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
TargetSdkVersion为22的包,大多数都可以信任Fiddler/Charles证书后直接看到HTTPS请求和返回
2018-11-27 16:23
0
雪    币: 222
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
Imyang表哥,因无发短信权限在此贴向你提问,你在另一个贴“关于某款特殊的Android APP抓包问题”https://bbs.pediy.com/thread-248038.htm的回复是“开个vpn,转发到代理工具上”,我也下载这个软件,但是我也无法抓包,请问你是如何抓包的,能否解答下,谢谢。
2019-1-21 14:42
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
有大佬知道,这个代码,第一次运行正常,第二次运行时报错argument types do not match any of xxx:
{'type': 'error', 'description': "Error: checkServerTrusted(): argument types do not match any of:\n\t.overload('[Ljava.security.cert.X509Certificate;', 'java.lang.String', 'java.lang.String')", 'stack': "Error: checkServerTrusted(): argument types do not match any of:\n\t.overload('[Ljava.security.cert.X509Certificate;', 'java.lang.String', 'java.lang.String')\n    at X (frida/node_modules/frida-java-bridge/lib/class-factory.js:569)\n    at value (frida/node_modules/frida-java-bridge/lib/class-factory.js:973)\n    at e (frida/node_modules/frida-java-bridge/lib/class-factory.js:553)\n    at <anonymous> (/script1.js:77)\n    at apply (native)\n    at ne (frida/node_modules/frida-java-bridge/lib/class-factory.js:620)\n    at <anonymous> (frida/node_modules/frida-java-bridge/lib/class-factory.js:598)", 'fileName': 'frida/node_modules/frida-java-bridge/lib/class-factory.js', 'lineNumber': 569, 'columnNumber': 1}

感觉是第二次运行时第一个参数(就是之前保存的参数)给的不对?
2022-10-9 06:00
0
游客
登录 | 注册 方可回帖
返回
//