完整性检查
转到设置 > 安全 > 受信任的凭据 > 用户,并确保您的证书已列出。或者,您可以尝试拦截来自设备浏览器的 HTTPS 流量。
解决方案
它在许多地方都有记录,但这里有一个简短的摘要:
1.在浏览器中导航到;
2.点击右上角“CA证书”开始下载;
3.使用 adb 或文件管理器将扩展名从 der 更改为 crt: adb shell mv ///.der ///.crt;
4.使用文件管理器导航并打开文件以启动安装;
您的 Burp 证书是否安装为根证书?
默认情况下,最新版本的应用程序不信任用户证书。具体原因请点击这里。或者,您可以重新打包应用程序,将相关控件添加到 icy.xml 文件,但将根 CA 保留在系统 CA 存储中可以避免其他步骤(如 3rd 方框架)的麻烦,因此这是我的首选方法。
完整性检查
转到设置 > 安全 > 受信任的凭据 > 系统并确保您的证书已列出。
解决方案
为了将您的证书列为 root,您的设备需要以 root 身份使用:
1. 正常安装客户端证书(见之前的检查);
2.安装模块;
3.重启设备使能模块;
4.再次重启触发文件复制;
或者,您可以:
1.确保证书格式正确,并将其复制/粘贴到//etc/ / 目录中。但是,要使其正常工作配置burpsuit谷歌浏览器证书及HSTS问题处理,您的 / 分区需要是可写的。一些根方法允许这样做,但它相当复杂,而且更好的是,获得格式正确的证书有点复杂。
2.修改 g 以包含用户证书作为信任锚(见下文)。不过,最好将您的证书作为系统证书,因此我很少采用这种方法。
您的 Burp 证书是否有适当的到期日期?
除了积极缩短叶子证书的最长接受期限外,如果您的叶子证书的有效期过长,/不会接受。
完整性检查
使用浏览器连接到您的代理并调查根 CA 和叶证书的证书有效期。如果少于1年,那很好。如果证书有效期较长,保险起见,创建一个新的CA,你也可以使用最新版本的浏览器来验证证书的有效期。如果有错误,将显示以下错误:
解决方案
这里有两种可能的解决方案:
1.确保你安装了最新版本的 Burp,这样会减少生成的叶子证书的有效期;
2.创建自己的根 CA,有效期只有 365 天。此根 CA 生成的证书也将少于 365 天。这是我的首选选项,因为证书可以与团队成员共享,并且可以安装在约会期间使用的所有设备上。
设置应用
现在设备已准备好使用,是时候查看应用程序的详细信息了。
应用程序代理是否识别它?
很多应用简单地忽略了系统的代理设置,使用标准库的应用往往会使用系统代理设置,但是依赖解释语言(如和Unity)或原生编译应用(如)的应用往往需要开发人员将程序代理支持显式添加到应用程序中。
完整性检查
运行应用程序时,您应该在 Burp 的代理选项卡中看到 HTTPS 数据,或者您应该在仪表板面板上的 Burp 事件日志中看到 HTTPS 连接错误。由于整个设备都是代理的,您会看到许多来自使用 SSL 锁定的应用程序(例如 Play)的被阻止请求,因此请查看您是否可以找到与该应用程序关联的域。如果您没有看到任何相关的失败连接,则您的应用程序很可能没有代理。
作为额外的健全性检查,您可以查看应用程序是否使用第三方框架。如果应用程序是用 编写的,它肯定不支持代理配置burpsuit谷歌浏览器证书及HSTS问题处理,如果它是用 或 Unity 编写的,它很可能会忽略系统的代理设置。
反编译:d myapp.apk;
通过已知位置:
:myapp/lib/arm64-v8a/.so
: myapp///Mono..dll
统一:myapp/lib/arm64-v8a/.so
解决方案
有几件事可以尝试:
使用(仅限root),虽然它是一个旧应用程序,但它仍然可以正常工作。用于强制将流量重定向到您的代理;
使用第二个无线接口设置自定义热点并自己重定向流量。您可以在文档中找到设置,它是另一个有用的 HTTP 代理,并且相同的设置适用于 Burp。
在这两种情况下,您都已从“代理感知”设置转换为“透明代理”设置。你必须做两件事:
1.禁用设备上的代理。如果你不这样做,Burp 将同时接收代理请求和透明请求,这两者是互不兼容的;
2. 配置 Burp 以通过代理支持透明代理 > 选项 > 主动代理 > 编辑 > 请求处理 > 支持不可见代理;
再次执行完整性检查,现在希望在 Burp 的事件日志中看到 SSL 错误。
在下一篇文章中,我还将详细介绍“应用程序是否使用自定义端口?”、“应用程序是否使用 SSL 锁定?”等。
评论留言