关于APP抓不到包的解决思路

admin 2022年7月22日09:30:14评论259 views字数 2133阅读7分6秒阅读模式
免责声明
由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!


文章来源:udtxgysg

原文地址:https://forum.90sec.com/t/topic/1881

0x01 前言

本文主要介绍在对APP渗透测试的时候,对于APP “抓不到包” “点击无反应” “网络错误” 等解决思路。

0x02 描述

当我们在实战中总会遇到一些APP抓不到包或网络错误,有的甚至直接没反应,首先我们要理解代理抓包的关键就是需要HTTP客户端按照要求去连接代理服务器,一般情况下我们已经在系统层面上设置了代理,通常HTTP客户端都是按要求去实现的,在进行HTTP请求前会先检查系统代理,如果有设置代理,客户端会直接使用完整url去连接代理服务器。不同的平台通常会实现自己的HTTP客户端,虽然他们都按照协议要求实现了代理功能,但是并不一定在默认情况下会直接使用系统代理,在现实中碰到这种情况还不少。

对于防止APP抓包有以下几种方式

  • 在客户端请求网络之前先判断是否使用了代理

  • 在代码中增加无代理模式,比如 “Proxy.NO_PROXY” 对于这种可以使用HOOK方法,具体操作大家可以百度一下相关的知识

  • SSL Pinning机制,这种常见的报错提示语为“网络错误”

0x03 绕过方式

  • 使用Android7.0以下的系统 (貌似不是很管用)

  • 将Fiddler/Burp证书安装到系统默认预置的CA证书区域中

  • 反编译APK,修改AndroidManifest.xml文件

  • VitualXposed框架+JustTrustMe模块 (我在测试过程中安装JustTrustMe模块的时候老是出错,不能正常使用,大家可以自行去尝试)

  • 控制DNS解析,通过修改dns的方式让客户端以为我们的代理服务器就是目标服务器

  • 下面我将用某APP做测试,顺便介绍一款在安卓运行的抓包工具“HttpCanary”
    此工具分高级版和免费版,主要区别于免费版不能进行改包重放等功能,不过问题不大,我们可以在浏览器中操作

下面进入实战阶段

首先已正常流程进行抓包,设置Burp代理,手机代理,当我们打开APP并进行点击发送验证码,以及登入功能按钮的时候,APP毫无反应,从打开到加载完这是Burp所抓到的数据包

关于APP抓不到包的解决思路

关于APP抓不到包的解决思路

可以看到只抓到一个数据包,而且还没啥用看第一张图所圈的位置相信大家都知道是出问题了,你说怎么肥事?我也不知道!

下面我们使用第二种方式,不设置模拟器中的系统代理,利用Proxifier和Fiddler工具监听模拟器的请求,然后通过Fiddler把流量转到Burp中,当一切都设置好准备一展拳脚的时候, 咦~ 怎么肥事!

关于APP抓不到包的解决思路

当点击发送验证码和登入按钮的时候,除了抓到一些url地址,数据包什么的啥也没有,此刻 挠挠了头,点上烟,深深抽上了一口,难道他不是通过检测系统代理而判断的?此刻又进入了漫长的查资料过程........

当我们在实战中遇到这种情况,先判断是为何抓不到包,他是在代码中设置了无代理还是验证系统的证书,因为在Android7.0以上的系统,不会信任用户证书,所以就出现了我们使用Android7.0以下的系统进行测试,或者把Burp的证书安装到系统层绕过检测,最后根据目标对应的配置去绕过检测

当查了很久的资料,尝试了网上所教的各种方法,HOOK因为太过复杂懒得配置,留到最后,可能对大佬来说很简单,可我是一只菜鸡呀,然后尝试使用VitualXposed框架+JustTrustMe模块,模块不能正常运行,失败!使用Android5系统,失败!证书安装到系统层,失败!当我正不知所措的时候,决定尝试反编译apk,随后用jadx打开了classes.dex文件全局搜索 “Proxy.NO_PROXY” 如下,发现了一段代码,对于Java一窍不通的我,此刻很头疼,当我看到这段代码的时候虽然我不懂java但我知道这个函数肯定与代理有关。

关于APP抓不到包的解决思路

当我正考虑下一步怎么进行的时候,突然冒出来一个想法,不知道有没有手机版的抓包工具,利用手机版的抓包工具能不能绕过?然后就找到"HttpCanary"这款工具

开始测试,工具安装好以后,把需要抓的APP添加到工具中,然后点击开始抓包

关于APP抓不到包的解决思路

哦豁~ 可以正常抓包了!

点击数据包可以查看详情信息,以及修改和重放

关于APP抓不到包的解决思路

关于APP抓不到包的解决思路

当然在模拟器中测试还是有点不方便,随后转战浏览器测试,当直接访问目标url的时候会爆出以下错误

关于APP抓不到包的解决思路

这里提示参数错误,那肯定是数据包中缺少某个参数,观察在模拟器中抓到的包,经过测试发现缺少"X-UDID"这个头,在数据包中添加X-UDID头,返回正常

关于APP抓不到包的解决思路

以上就是本次对APP抓包的所有流程以及思路,在实战过程中信息收集与思路尤其重要,虽然本文并没有很高超的技术含量,但也为我们的思路做了一个扩展,这也是我第一次接触这款工具,这次测试也为我以后在抓包环节省下不少时间。 文中如有缺少的知识或错误还请各位老哥指正。


往期推荐



一次信息泄露到越权支付的实战

红蓝对抗最全信息收集工具整理

白哥给大家写POC~

红蓝对抗自动化利用工具整理

关于APP抓不到包的解决思路

原文始发于微信公众号(李白你好):关于APP抓不到包的解决思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月22日09:30:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   关于APP抓不到包的解决思路https://cn-sec.com/archives/1190233.html

发表评论

匿名网友 填写信息