一、背景:
在使用burpsuite做代{过}{滤}理抓取应用数据包时,如果要抓取到HTTPS数据,需要将burpsuite证书导入到浏览器或手机。
浏览器或手机设置好burpsuite的代{过}{滤}理地址,即可抓取到https数据包。
<ignore_js_op>
如果APP应用采用证书锁定后,将无法抓取到https数据,因为此时APP应用校验证书不通过,通常APP应用会断开网络连接,防止网络传输数据被抓取。
二、证书锁定
证书锁定(CertificatePinning或SSL Pinning),即HTTPS的证书校验。HTTPS库在接收到证书以后,对证书进行校验,确保其跟自己保存的本地证书或硬编码数据相同,才可放行。否则视为被中间人监听,拒绝通信。
三、绕过证书锁定
绕过证书锁定,可使用xposed框架下的两大神器来突破证书锁定。SSLUnpinning或Inspeckage。
使用这两个APP应用中的任意一个就可以绕过证书锁定。
要使用这两个APP应用生效,前提是手机已ROOT并且安装好xposed框架,在选择xposed安装时,要选择好手机架构系统版本和CPU对应关系。
安装方式参与下面链接
https://xposed.appkg.com/2390.html
https://xposed.appkg.com/1152.html
android的版本可以在设置-关于手机查找,CPU是否是64位可查询手机配置参数,也可以使用以下命令查看:arm64-v8a
比如我的荣耀9是android7.0,命令查询结果如下:
HWSTF:/ # getpropro.product.cpu.abi
arm64-v8a
所以选择安装包xposed-v88-sdk24-arm64.zip,具体安装方法可百度搜索:xposed框架安装。
成功安装xposed后可以安装以下任意一个APP应用,可实现绕过证书锁定。
1、 SSLUnpinning
SSLUnpinning安装成功后,需要在xposed框架中选中,并重启手机后才会生效。
手机重启后,打开SSLUnpinning,选择要抓数据包的APP应用,当应用后出现unpinned时,就可以愉快地进行抓包了。
<ignore_js_op>
如果需要取消,点击右上角的三个小点,选择clear即可。
2、Inspeckage
Inspeckage是一个用于提供Android应用程序动态分析的工具。通过对Android API的函数使用hook技术,帮助用户了解应用程序在运行时的行为。
2.1 打开Inspeckage点击choose target选择要分析的应用,这次以com.mobike.mobikeapp为例。
<ignore_js_op>
2.2 电脑使用adb命令 连接手机,并做端口转发:
E:\ProgramFiles\adb>adb devices
List of devicesattachedadb server version(31)
doesn't match this client (36); killing...
* daemon startedsuccessfully *emulator-5554 device //连接成功
E:\ProgramFiles\adb>adb forward tcp:8008 tcp:8008 //本地8008端口转发到手机8008端口,用于浏览器中直接访问http://127.0.0.1:8008
2.3 浏览器中直接访问http://127.0.0.1:8008,效果如下
<ignore_js_op>
点击下图中设置,开启SSL uncheck就可以绕过APP应用的证书锁定。
<ignore_js_op>
上图中右侧还有个代{过}{滤}理设置。使用方式是手机中不设置代{过}{滤}理,在此处设置了burpsuite的代{过}{滤}理,即可在burpsuite中抓到数据包。这个方式可绕过APP应用的代{过}{滤}理检测。
四、Inspeckage动态分析工具
模块介绍
Logcat 实时查看该app的logcat输出
Tree View 可以实时浏览app的数据目录并直接下载文件到本地
Package Information 应用基本信息(组件信息、权限信息、共享库信息)
Shared Preferences LOG:app XML文件读写记录;Files:具体XML写入内容
Serialization 反序列化记录
Crypto 常见加解密记录(KEY、IV值)
Hash 常见的哈希算法记录
SQLite SQLite数据库操作记录
HTTP HTTP网络请求记录
File System 文件读写记录
Misc. 调用Clipboard,URL.Parse()记录
WebView 调用webview内容
IPC 进程之间通信记录
+Hooks 运行过程中用户自定义Hook记录
大部分APP应用使用https加密通道保护传输数据,同时对重要的数据会再次加密防止被截取泄露,使用Inspeckage分析通常可看到相应的明文、密钥以及加密方式。
一个非常好的安卓APP动态分析工具,使用方法见下载地址有详细介绍。下载地址:
https://repo.xposed.info/module/mobi.acpm.sslunpinning
https://repo.xposed.info/module/mobi.acpm.inspeckage
当前位置:
首页 > temp > python入门教程 >
-
xposed绕过ssl校验新玩具
作者:小小咸鱼YwY
出处:https://www.cnblogs.com/pythonywy/p/14247844.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数