首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Burp拦截Android应用程序流量

用Burp拦截Android应用程序流量
EN

Security用户
提问于 2017-03-10 08:31:48
回答 2查看 19.9K关注 0票数 8

当流量为https时,我试图了解Burp和Android应用程序做什么。我没有在手机上安装Burp。

  1. 有些应用程序完全不起作用。他们会显示错误信息,或者认为手机不在网上。这是因为SSL钉扎吗?
  2. 有些应用程序正常工作,但是Burp不捕获任何数据包。这是怎么回事?没有打嗝,CA,电话和服务器如何通信?博普只是在传递交通信号吗?
  3. 有些应用程序正常工作,但是Burp只在几个操作中拦截数据包。截获的操作可能使用空的信任管理器或类似的东西,但其余的代码如何与服务器通信?
EN

回答 2

Security用户

回答已采纳

发布于 2017-04-10 13:54:01

首先要记住的是,Burp是HTTP(S)代理。它不会对任何不是HTTP(S)的数据做任何事情(好的,除了websockets)。另一方面,Android应用程序可以使用他们想要的任何协议。很多人确实使用HTTP(S),仅仅是因为它适合他们发送的数据类型,但实际上并不是必需的。

如果应用程序不使用HTTP(S),那么这种流量就不会出现在Burp中。最明显的例子是DNS流量--即使您通过Burp使用浏览器,也不会看到任何DNS查找请求出现。

所以:

  1. 完全拒绝工作的应用程序。他们可能在使用证书钉扎-两个选项在这里,虽然。首先,他们正在寻找要安装在设备上的目标站点的有效证书。在这种情况下,安装Burp证书将使它们再次工作。第二种类型,它们使用一些自定义钉扎,这需要服务器提供特定的证书,或者由信任链中的特定条目签名的证书。这些人不会被Burp CA认证所愚弄。
  2. 不需要捕获任何数据包的应用程序。他们可能没有使用HTTP(S)。这可能是SSH客户端、Whatsapp之类的消息服务,或者游戏,在这些服务中,丢包的重要性不如大多数数据包到达得快,这比HTTP这样的基于TCP的网络连接更适合UDP网络连接。他们也可能忽略了任何已经到位的代理设置,特别是当您只是使用HTTP代理应用程序进行拦截时。要查看这些数据,您需要像Wireshark这样的工具来处理其他类型的数据,以及支持监视模式的wifi卡。
  3. 只显示一些流量的应用程序。如果您看到的流量是stats包或广告,那么它们可能属于上面的第二类--大多数统计系统似乎使用HTTP(S),因为它在任何情况下都比较容易实现,而且通常需要打开某种HTTP连接才能下载广告。
  4. 没有真正连接的应用程序。有些应用程序看起来应该连接到互联网上,但实际上没有,或者只是在不正常的基础上连接。这些应用可以包括时刻表应用程序、一些游戏(例如,高分每天更新),或者任何可以在本地存储数据的东西(地图应用程序可以在本地存储“通常”区域,并呼吁对景点或更远的地方进行评论)。在这种情况下,你可能没有看到他们试图连接,而你正在观看。

如果可以的话,我建议查看Wireshark的通信量,看看正在使用的协议是什么,然后使用适当的软件来挖掘有趣的协议,同时记住,有些用户故意难以检查来自Whatsapp的加密数据包,否则就会有严重的错误!

票数 6
EN

Security用户

发布于 2017-03-10 16:30:23

在接受iPhone应用程序时,我遇到了类似的问题。应用程序不使用本机库,也不支持http代理。为了“修复”这个问题,我透明地将所有流量转发给了Burp代理。有关此设置的说明,请参见如何捕捉应用程序的所有流量?

一些应用程序使用证书钉扎。一些应用程序会将它看到的第一个证书钉在一起,而另一些应用程序则在应用程序中硬编码它。在第一种情况下,您只需确保当您第一次运行代理时,流量将通过您的代理。

我相信,如果客户端过早断开连接(拒绝证书),您将在Burps警报选项卡中看到警告。

在后一种情况下,这有点困难,因为您必须修改二进制本身。

我本人并没有试图颠覆来自android应用程序的证书绑定,但是链接看起来是一种很好的方法。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/153440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档