AL-*_*teb 1 debugging https android fiddler ssl-certificate
我遵循了有关如何在 android 模拟器上添加 fiddler 证书的说明,使用 nox 和 memu 模拟器,以及运行棉花糖的 android 手机,当我打开网站时,我将 WiFi 代理设置为通过本地网络指向我的 PC使用 Web 浏览器,一切正常,我收到警告,我选择继续,并且使用 fiddler 成功隧道和解密连接。
但是,当我尝试使用其他应用程序时,连接失败!我看到隧道连接,然后连接失败。我敢打赌,这是由于 HTTPS 证书无效,所以我的问题是,有没有办法让我将 fiddler 安装到受信任的机构,以便在没有警告的情况下连接到它?所以我终于可以调试进出这些应用程序的 HTTPS 流量了。
我在 SO 上发现了类似的问题,但没有一个与我的完全相同,也没有正确的答案,所以我不确定这个问题实际上是否符合重复的条件。
谢谢
在使用为目标 API 级别 24 (Android 7) 或更高级别开发的应用程序的现代 Android 设备上,嗅探流量不再那么简单。应用程序的目标 API 级别AndroidManifest.xml在条目中定义它的文件<uses-sdk android:targetSdkVersion="??"/>。
主要问题是,如果您在 Android 中安装 Fiddler 根 CA 证书,它会被标记为user certificate(not system certificate)。除非在应用程序中明确配置,否则这些用户证书不受信任。
请注意,某些应用程序进一步使用证书固定(叶或根 CA 固定)。因此,即使 Fiddler 根 CA 证书安装为系统证书,应用程序也不会信任此证书,因为它在证书锁定时失败。
证书固定也是网站的一项功能,因此一些网站在 Web 浏览器缓存中保存证书哈希,将网站固定到某个证书。在这种情况下,清除浏览器缓存通常就是删除那些固定数据。
如果您的设备已植根,您可以尝试安装 Fiddler 根 CA 证书作为系统证书。Mitmproxy 文档包含手动安装 mitmproxy 证书的方法。
如果您使用 Magisk 植根手机,则有一个 Magisk 模块似乎能够自动安装用户证书作为系统证书:https : //github.com/NVISO-BE/MagiskTrustUserCerts
或者,您可以安装 Magisk + Edxposed + TrustMeAlready Xposed 模块。这允许在系统范围内禁用证书检查。
也可以在设备上安装和运行Frida -Server 并连接到您有兴趣在运行时修改 SSL/TLS 证书检查的应用程序。AFAIK 基于 Frida 的框架Objection有一些脚本可以这样做。
在非 root 设备上,只有在将应用程序安装到设备上之前修改应用程序的选项。请注意,某些应用程序会检测到它们已被修改并拒绝工作。
要让应用程序信任您必须修改应用程序中包含的用户证书network_security_config.xml(例如参见此处)。您可以使用apktool反编译/重新编译应用程序。不要忘记重新签名重新编译/重新打包的应用程序,例如使用apksignerAndroid SDK。
还可以通过将适用于 Android 的 Frida 小工具包含到应用程序中来修改应用程序。这将允许在非 root 设备上将 Frida 用于此特定应用程序。
| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |