app抓不到包的几种原因

编程入门 行业动态 更新时间:2024-10-05 17:28:46

app抓不到包的<a href=https://www.elefans.com/category/jswz/34/1768768.html style=几种原因"/>

app抓不到包的几种原因

1 ssl pining(ssl证书验证)
单向认证

APP对服务端证书做校验 校验服务器的证书和域名。

Fiddler/Charles等的证书肯定是校验不过的

Charles安装配置:

APP做ssl pining的几种方式:

举例Python requests库对ssl的校验

requests.get(url, timeout=1, verify=false)

Python的几种网络请求方式

  requestsurlliburlib3aiohttp

Java的几种网络请求方式

  HttpsURLConnection okhttp       webview ssl pinningNative SSL 

如何判断是ssl pinning:


ssl pinnin解决办法:

1)使用Hook手段 Hook APP端网络请求库对 ssl证书的判断方法

  • 借助xposed 模块 justtrustme apk 地址:
    JustTrustMe.apk 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。xposed的54的可以运行,高版本没有测试,可以自行测试。

    注意:设置成功后需要重启设备。

  • 借助frida 程序 DroidSSLUnpinning

2)逆向APP 扣出里面的证书 放到charles里 让charles使用真实证书做代理

示例:安吉星

部分 ssl pinning 失效的原因:
Hook 失败,APP的网络请求库代码被混淆,或者大厂自己实现了一套网络请求库
解决办法:
1、逆向APP,找到证书验证的地方,将证书导入抓包软件
2、修改xposed 的 justtrustme为JustMePlush(自适应混淆) 或者 frida的DroidSSLUnpinning 代码, 重新Hook

双向认证

客服端对服务端发来的证书做校验, 真实的服务端也对客服端证书做校验。

如何判断是双向验证:soul app

当做了ssl unpinning后,报如下错误:

双向认证解决办法:

客服端校验任然使用SSL unPinning方法

服务端校验,需把APP里的证书导入到代理抓包软件中,让代理抓包工具使用真实的APP证书。charles 比较方便 配置

示例:soul

如何找到APP里的证书

反编译APP 在assert文件夹里有.p12 .pem之类文件cer ssl反编译后,在源代码里大量搜索Hook 监听Assert文件夹 知道读了哪些文件可能有密码  Hook java.security.KeyStore 查看密码 

参考:
.html

=3.1.1.3006&platform=win

更多推荐

app抓不到包的几种原因

本文发布于:2024-02-28 10:24:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769370.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:几种   原因   app

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!