前言

一般情况下手机在安装了burpsuite的伪证书后,是可以抓大部分APP数据包的。但是也会会遇到一些APP是不能通过burpsuite抓包的情况。

这种现象往往表现在burpsuite没有拦截到任何数据请求信息,且在客户端返回类似“服务器连接错误”等提示。那怎么去解决抓不到包的问题呢?

单向认证

什么是单向认证?

简单来说,单向验证的就是是客户端主动去校验服务端的证书,看看其服务端证书是否为客户端所承认的证书,如果证书校验出错就会无法与其建立连接。说白了就是APP使用SSL证书绑定(SSL Pinning)让客户端绑定了唯一可识别的证书,请求时当发现服务端证书和绑定的不一样时就不建立连接。

解决办法:Xposed框架+JustTrustMe模块(需root)

1、从下载好的文件中解压出Xposed,放到模拟器中安装:

2、打开软件后是未激活状态,需要进行在线安装:

3、安装完成后根据提示重启,重新进入软件显示成功激活即可:

4、接着解压出justTrustme文件,进行安装。结束后Xposed会自动提示该模块未激活。点击激活跳转到Xposed模块界面进行勾选,接着重启即可。

5、 接下来就可以用burpsuite等工具抓包了。

其实就是Xposed框架的justTrustMe模块,会将APP中所有进行证书验证的方法或者函数都进行hook。hook它就是一个钩子函数,通过这个钩子函数去修改了证书检验的结果,让其无论如何都可以继续进行通信。从而达到可以正常抓包的目的。

除此之外的方法

1、可以通过反编译APP文件,再篡改内部证书信息。难度较大,可能会遇到难搞的加壳、或者代码混淆的情况。

2、利用Frida框架进行APK注入,从而绕过证书检测。Frida工具中包含了一个能够让应用程序在运行时加载Frida的动态库,并允许我们对目标应用程序的代码和指令进行动态修改。

双向认证

什么是双向认证?

双向认证的就是客户端校验证书的同时,服务端也要校验证书,无论哪个出现错误都会造成无法建议连接。相比 SSL Pinning 来说,两者实现的功能差不多但是使用双向认证会更贵点。

解决方法:反编译找证书私钥

1、先通过工具反编译APK文件,找到证书的文件。一般证书文件可能会放在assets或者res目录下,我是直接搜索证书文件格式后缀的如:crt、cer、p12、pfx等等。

2、找到证书文件后打开它会发现是需要私钥的。通过在反编译好的源代码中查找相关函数,找到私钥。

3、导入输入私钥后的证书到burpsuite后,即可正常抓包了。

至于怎么快速定位到私钥位置,可以关键字多搜索“key”、“password”、“ssl”等关键字,难点还是反编译后遇到难脱的壳和代码混淆的问题。

APP不走代理

问题描述

有些情况下APP是不走代理服务的,比如说手机已设置好burpsuite代理,通过手机浏览器访问网页可以正常抓包。然后关掉burpsuite软件,手机浏览器不可访问任何网页,但是APP可以正常访问业务。那么就可以说明APP使用了默认禁用系统代理的网络请求框架。

解决方法:HTTP Debugger Pro

这个工具是全局抓http/https流量,可以通过这个工具抓取模拟器上的流量。

除此之外的方法

1、可以使用 Packet Capture 一款依托安卓系统自身 VPN 来达到免 Root 抓取数据包的应用程序,可以捕获 Android 手机上的任何网络流量。就是操作起来会比较麻烦,需要到手机里面复制数据包的请求,然后再发送到burpsuite中进行操作。

2、可以使用frida来hook网络请求框架的限制函数或方法,从而绕过验证。

APP代理检测

问题描述

顾名思义就是说APP会对当前网络是否属于代理环境进行检测,如果属于就禁止建立连接访问。

解决方法:遇到这种检测机制,没啥好办法了。只能用hook出代理环境限制的函数或方法,从而绕过限制。

严格的证书检验

问题描述

有些情况下使用了JustTrustMe也无法成功获取数据包,可能是APP使用了自定义的库进行证书校验,导致无法匹配通用的Hook函数,导致抓包失败。

解决方法通过反编译查看源代码,了解对应证书检验函数后重新编写Hook脚本。使用frida执行hook后再进行抓包。

安卓版本问题

问题描述

APP在安卓7.0或更高的系统下,无法抓取数据包。是因为安卓7.0开始 https 是不会走自己安装的证书的,根本原因是安卓sdk24可以设置只信任系统证书,所谓的中间人攻击就不起效果。

解决方法:使用低于7.0版本的安卓系统进行抓包。

后记

原创文章从自己的公众号搬运过来的,感兴趣的可以关注一波呀。

APP抓不到包及问题解决方法相关推荐

  1. 王者荣耀s22服务器未响应是什么意思,王者荣耀s22资源包升级失败 s22解析包出现问题解决方法...

    王者荣耀s22资源包升级失败怎么解决?相信大家都知道王者荣耀S22破晓版本在今日14日正式推出,一时间大量玩家去更新游戏,不过有一小部分玩家出现了更新问题,那就是资源包升级错误,关于这个问题,官方也给 ...

  2. 遇到APP抓不到包或者提示网络存在风险

    遇到APP无法抓包怎么办 比如:现金借款app 如果一打开抓包工具(Charles,Fiddler)出现以下情况 可以用以下方法解决: 安装插件 1.安装Xposed Installer安装器 2.V ...

  3. Wireshark抓不到包的解决方法

    背景描述 :最近在进行带有网口功能的FPGA编程,数据包的封装过程由FPGA完成,FPGA通过10G网线与一台服务器相连.在调试过程中,通过服务器上的Wireshark抓包来看包的内容是否正确. 问题 ...

  4. 电脑抓wifi空中包三种方法

    WIN10电脑 下载wireshark软件,设置WIFI网卡为monitor模式: C:\WINDOWS\system32>cd NpcapC:\Windows\System32\Npcap&g ...

  5. App抓包数据包之Paros的安装及使用

    1.在应用程序开发过程中,会遇到很多网络访问问题,自己没有能力提供后台服务,这时就可以抓取网络上的数据包,获取数据接口,应用在程序中.下面介绍使用paros抓取网络数据包得步骤. 2.要使用paros ...

  6. Linux下软件源码包安装问题解决方法

    从源码包安装软件最重要的就是仔细阅读README INSTALL等说明文件 通常从源码包安装软件的步骤是: tar jxvf gtk+-2.4.13.tar.bz2 解开源码包 cd gtk+-2.4 ...

  7. ECshop导入淘宝数据包乱码问题解决方法

    ECshop在导入淘宝数据包的时候出现数据乱码. 测试版本 ecshop2.73 利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件 ...

  8. 文章向大家介绍安卓逆向,解决app抓包抓不到的问题,主要包括安卓逆向,解决app抓包抓不到的问题使用实例、应用技巧

    本文章向大家介绍安卓逆向,解决app抓包抓不到的问题,主要包括安卓逆向,解决app抓包抓不到的问题使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下. 有时候 ...

  9. 用C++实现网络编程---抓取网络数据包的实现方法

    From: http://blog.csdn.net/zjl_1026_2001/article/details/2191311 做过网管或协议分析的人一般都熟悉sniffer这个工具,它可以捕捉流经 ...

最新文章

  1. oracle创建函数和调用存储过程和调用函数的例子(区别)
  2. mopso算法代码程序_JAVA程序员的必杀技,面试中常考的8个经典算法题,过程精妙,代码精炼...
  3. 小妲己智能机器人要连接wifi吗_“能扫能拖,聪明能干”,360扫地机器人S7一周体验分享...
  4. excel表格数字显示不全_从word中把身份证号码复制到excel表格中完整显示身份证号码后4位...
  5. matlab计算16 1 3近似值,8. 科学计算软件Matlab中默认情况下π为近似值3.1416,该近似值与π真值的( )...
  6. Springboot项目与vue项目整合打包
  7. java socket 全双工_java socket实现全双工通信
  8. 未来网络安全重塑,保障安全的会不会只有四五家?
  9. 3种常见的渗透测试漏洞总结,快来收藏√
  10. C++实现建立和一二进制树的三个递归遍历
  11. 用360安全卫士批量本地快速给系统打补丁【转贴】
  12. 套料软件XSuperNEST
  13. ROS里程计的学习(odometry) (二)
  14. Greenplum5.9.0简单使用
  15. Android崩溃治理
  16. among us私服搭建
  17. Vscode 与服务器建立远程连接(ssh)
  18. 卜算子.咏梅 陆游
  19. MySQL之——mysql5.5 uuid做主键与int做主键的性能实测
  20. 为啥在VS中使用scanf函数会有警告呢?如何解决此问题?(如何添加#define _CRT_SECURE_NO_WARNINGS 1)

热门文章

  1. log4j2设置控制台日志打印颜色
  2. 推荐12个免费查找文献的学术网站,建议点赞、收藏!
  3. 快狗打车CTO沈剑:低成本搞定分布式调用链追踪系统
  4. 房屋租赁系统 nodejs+vue微信小程序
  5. 内部类与外部类之间的访问
  6. GitHub使用——官网指南
  7. Blender - 法向 缩放 , Shrink Fatten 应用
  8. arduino和stm32哪个更好学?
  9. 2022软工K班结对编程作业
  10. html 垂直底端对齐,CSS vertical-align(垂直对齐)