usdt无需实名交易(www.caibao.it):行使 Burp Suite 挟制 Android App 的流量(一)

USDT自动充值API接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

在Android应用程序举行平安评估时,通常会举行两方面的评估:移动前端和后端API。为了检查API的平安性,你将需要大量的文档,例如Swagger或Postman文件,或者可以让移动应用程序为你天生所有流量,并简朴地通过署理(MitM攻击)阻挡和修改流量。

有时候设置署理确实很容易,在本文中,我将使用PortSwigger的Burp 套件署理,然则相同的步骤固然可以用于任何HTTP署理。在所有示例中,署理将托管在端口8080上的192.168.1.100。检查从最基本的最先,越到厥后越庞大。

设置装备

首先,我们需要确保装备上的所有设置都是准确的。无论你实验使用MitM的应用程序若何,这些步骤均适用。

是否在装备上设置了署理?

很明显,第一步是在装备上设置署理。使用者介面会因你的Android版本而有所差别,但找起来并不难。

完整性检查

进入“设置”>“毗邻”>“Wi-Fi”,选择你所使用Wi-Fi网络,点击“高级”>“署理”>“手动”,然后输入你的署理详细信息:

署理主机名:192.168.1.100;

署理端口:8080;

Burp是否监听所有接口?

默认情况下,Burp只监听内陆接口(127.0.0.1),然则由于我们想要从差别的装备毗邻,Burp需要监听已经加入Wi-Fi网络的特定接口。你可以监听所有接口,也可以监听特定接口(若是你知道需要哪个接口)。作为完整性检查,我通常使用“监听所有接口”。请注意,Burp有一个API,它可以允许其他使用相同Wi-Fi网络的人查询你的署理并从中检索信息。

完整性检查

在你的主机上导航到http://192.168.1.100:8080,应该会泛起迎接界面。

解决方案

在Burp中,进入“署理”>“选项”>在“署理监听器”窗口中单击你的署理,然后在“绑定到地址”设置上选中“所有接口”。

你的装备可以毗邻到署理吗?

有些网络具有主机/客户端隔离,不允许客户端相互通讯。在这种情况下,你的装备将不能毗邻到署理,由于路由器不允许。

完整性检查

在该装备上打开浏览器,导航到http://192.168.1.100:8080。你应该会看到Burp的迎接屏幕。若是你在前面的检查中已经设置了署理,你还应该能够导航到http://burp。

解决方案

这里有一些选择:

1.设置一个禁用主机/客户端隔离的自定义无线网络;

2.将署理托管在可接见的装备上,例如AWS ec2实例;

3.执行一个ARP诱骗攻击,以诱骗移动装备,使其相信你是路由器;

4.使用adb反向署理通过USB的流量:

4.1将装备上的署理设置为在端口8080上转到127.0.0.1;

4.2通过USB毗邻装备,并确保adb装备显示你的装备;

4.3执行adb reverse tcp:8080 tcp:8080,它将

4.4现在,你应该能够浏览到http://127.0.0.1:8080并看到Burp的迎接屏幕;

你可以署理HTTP流量吗?

HTTP流量的步骤通常比HTTPS流量容易得多,因此此处的快速状态检查可确保你的署理准确设置且可被装备接见。

完整性检查

导航到http://neverssl.com并确保你在Burp中看到了该请求。 Neverssl.com是一个不使用HSTS的网站,而且永远不会将你发送到HTTPS版本,从而使其成为测试纯文本流量的理想选择。

解决方案

1.把以前的检查再检查一遍,可能有些地方纰谬;

2.Burp的阻挡已启用,请求正在守候你的批准;

装备上是否已安装Burp证书?

为了阻挡HTTPS流量,需要在装备上安装署理的证书。

完整性检查

进入设置>平安性>受信托的凭证>用户,并确保列出了你的证书。另外,你可以实验阻挡来自装备浏览器的HTTPS流量。

解决方案

许多地方都有纪录,然则这里有一个简短的摘要:

1.在浏览器中导航到http://burp;

,

Usdt第三方支付接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

2.点击右上方的“CA证书”,将最先下载;

3.使用adb或文件管理器将扩展名从der更改为crt:adb shell mv /sdcard/Download/cacert.der /sdcard/Download/cacert.crt;

4.使用文件管理器导航到该文件并打开该文件以启动安装;

你的Burp证书是否已安装为根证书?

Android最新版本的应用程序默认不相信用户证书,至于详细缘故原由请点此https://blog.nviso.eu/2017/12/22/intercepting-https-traffic-from-apps-on-android-7-using-magisk-burp/。或者,你可以重新打包应用程序,将相关的控件添加到network_security_policy.xml文件中,然则将根CA保存在系统CA存储中可以制止其他步骤(如第三方框架)的贫苦,因此这是我的首选方式。

完整性检查

进入设置>平安性>受信托的凭证>系统,并确保列出了你的证书。

解决方案

为了将你的证书列为根证书,你的装备需要使用Magisk作为根目录:

1.正常安装客户端证书(请参阅以前的检查);

2.安装MagiskTrustUser模块;

3.重新启动装备以启用模块;

4.再次重启以触发文件复制;

或者,你可以:

1.确保证书的花样准确,然后将其复制/粘贴到/ system / etc / security / cacerts目录中。然则,要使其正常事情,你的/ system分区需要是可写的。一些根方式允许这样做,但它非常庞大,而Magisk更好,获得准确花样的证书也有点庞大。

2.修改networkSecurityConfig,以将用户证书包罗为信托锚(请参见下文)。不外,将你的证书作为系统证书会更好,以是我很少接纳这种方式。

你的Burp证书有适当的有用期吗?

Google以及Android正在努力缩短leaf证书的最长接受限期,若是你的leaf证书的有用日期过长,Android / Chrome将不会接受它。

完整性检查

使用浏览器毗邻到你的署理,并观察根CA和leaf证书的证书有用期。若是短于1年,那就好了。若是证书的有用期较长,我喜欢平安一点,建立一个新的CA,你也可以使用Android上最新版本的Chrome浏览器来验证证书的有用期。若是有错误,Chrome将显示以下错误:ERR_CERT_VALIDITY_TOO_LONG

解决方案

这里有两种可能的解决方案:

1.确保你安装了最新版本的Burp,这会削减天生的leaf证书的有用期;

2.建立自己的根CA,它的有用期仅为365天。这个根CA天生的证书也将小于365天。这是我的首选选项,由于证书可以与团队成员共享,而且可以安装在约定时代使用的所有装备上。

设置应用程序

现在装备可以使用了,现在该看看应用程序的详细信息了。

应用程序署理可以识别吗?

许多应用程序简朴地忽略了系统的署理设置,使用尺度库的应用程序通常会使用系统署理设置,然则依赖于注释语言的应用程序(例如Xamarin和Unity)或内陆编译的应用程序(例如Flutter)通常要求开发人员将署理支持明确地编程到应用程序中。

完整性检查

在运行应用程序时,你应该在Burp的Proxy选项卡中看到你的HTTPS数据,或者应该在仪表板面板上Burp的事宜日志中看到HTTPS毗邻错误。由于整个装备都是署理的,你会看到许多来自使用SSL锁定的应用程序的被阻止的请求(例如谷歌Play),以是看看你是否能找到一个与应用程序相关的域。若是你没有看到任何相关的失败毗邻, 则说明你的应用程序很可能没有署理。

作为分外的完整性检查,你可以查看应用程序是否使用了第三方框架。若是应用程序是用Flutter编写的,它一定没有署理意识,而若是它是用Xamarin或Unity编写的,它很有可能会忽略系统的署理设置。

用apktool反编译:apktool d myapp.apk;

通过已知的位置:

Flutter: myapp/lib/arm64-v8a/libflutter.so

Xamarin: myapp/unknown/assemblies/Mono.Android.dll

Unity: myapp/lib/arm64-v8a/libunity.so

解决方案

有几件事可以实验:

使用ProxyDroid(仅限root用户),只管它是一个旧应用,但仍然可以很好地运行。 ProxyDroid使用iptables来强制将流量重定向到你的署理;

通过第二个无线接口设置自定义热门,并使用iptables自己重定向流量。你可以在mitmproxy文档中找到设置,它是另一个有用的HTTP署理,同样的设置也适用于Burp。

在这两种情况下,你都已从“署理意识”设置转换为“透明署理”设置。你必须做两件事:

1.在装备上禁用署理。若是你不这样做,那么Burp将同时收到署理请求和透明请求,二者互不兼容;

2.设置Burp以支持透明署理通过署理>选项>流动署理>编辑>请求处置>支持不能见署理;

再次执行完整性检查,现在希望能在Burp的事宜日志中看到SSL错误。

在下一篇文章中,我还会详细先容“应用程序是否使用了自定义端口?”,“应用程序是否使用SSL锁定?”等问题

本文翻译自:https://blog.nviso.eu/2020/11/19/proxying-android-app-traffic-common-issues-checklist/