热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

xposed绕过ssl校验新玩具[Python基础]

一、背景:在使用burpsuite做代{过}{滤}理抓取应用数据包时,如果要抓取到HTTPS数据,需要将burpsuite证书导入到浏览器或手机。浏览器或手机设置好burpsuit

xposed绕过ssl校验新玩具[Python基础]

一、背景:
在使用burpsuite做代{过}{滤}理抓取应用数据包时,如果要抓取到HTTPS数据,需要将burpsuite证书导入到浏览器或手机。

浏览器或手机设置好burpsuite的代{过}{滤}理地址,即可抓取到https数据包。

如果APP应用采用证书锁定后,将无法抓取到https数据,因为此时APP应用校验证书不通过,通常APP应用会断开网络连接,防止网络传输数据被抓取。

二、证书锁定
证书锁定(CertificatePinningSSL Pinning),即HTTPS的证书校验。HTTPS库在接收到证书以后,对证书进行校验,确保其跟自己保存的本地证书或硬编码数据相同,才可放行。否则视为被中间人监听,拒绝通信。

三、绕过证书锁定
绕过证书锁定,可使用xposed框架下的两大神器来突破证书锁定。SSLUnpinningInspeckage
使用这两个APP应用中的任意一个就可以绕过证书锁定。
要使用这两个APP应用生效,前提是手机已ROOT并且安装好xposed框架,在选择xposed安装时,要选择好手机架构系统版本和CPU对应关系。
安装方式参与下面链接
https://xposed.appkg.com/2390.html
https://xposed.appkg.com/1152.html


android的版本可以在设置-关于手机查找,CPU是否是64位可查询手机配置参数,也可以使用以下命令查看:arm64-v8a
比如我的荣耀9android7.0,命令查询结果如下:
HWSTF:/ # getpropro.product.cpu.abi                                                              
arm64-v8a
所以选择安装包xposed-v88-sdk24-arm64.zip,具体安装方法可百度搜索:xposed框架安装


成功安装xposed后可以安装以下任意一个APP应用,可实现绕过证书锁定。


1 SSLUnpinning
SSLUnpinning安装成功后,需要在xposed框架中选中,并重启手机后才会生效。
手机重启后,打开SSLUnpinning,选择要抓数据包的APP应用,当应用后出现unpinned时,就可以愉快地进行抓包了。

如果需要取消,点击右上角的三个小点,选择clear即可。


2Inspeckage
Inspeckage是一个用于提供Android应用程序动态分析的工具。通过对Android API的函数使用hook技术,帮助用户了解应用程序在运行时的行为。
2.1 打开Inspeckage点击choose target选择要分析的应用,这次以com.mobike.mobikeapp为例。



2.2 电脑使用adb命令 连接手机,并做端口转发:
E:ProgramFilesadb>adb devices
List of devicesattachedadb server version(31)
doesn"t match this client (36); killing...
* daemon startedsuccessfully *emulator-5554   device  //连接成功

E:ProgramFilesadb>adb forward tcp:8008 tcp:8008  //本地8008端口转发到手机8008端口,用于浏览器中直接访问http://127.0.0.1:8008


2.3 浏览器中直接访问http://127.0.0.1:8008,效果如下


点击下图中设置,开启SSL uncheck就可以绕过APP应用的证书锁定。


上图中右侧还有个代{过}{滤}理设置。使用方式是手机中不设置代{过}{滤}理,在此处设置了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


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
author-avatar
手机用户2502895085
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有