IOS系统抓包之短链-破解双向证书
前言
上次文章iOS系统抓包入门实践之短链有说道关于常规抓包、路由直连以及单向证书校验的抓包方式,该文章将是在短链抓包中进行补充,主要是针对短链抓包中不太经常用到的双向证书,并进行破解和通过Charles抓取数据包,给大家提供一些解决思路。
- 设备:越狱iPhone 5s、Mac
- 案例:c291bA==,该app在之前安卓端已经完成双向证书破解。
双向证书判断
双向证书判断
通过常规抓包的方式,进行梭哈,发现只要开启代理,该app提示未能读取数据,因为它的格式不正确
。并且在Charles中发现400 No required SSL certificate was sent
上边提示和安卓端提示相同,也就更能确定它使用的是双向证书。
双向证书主要是在通讯过程中,服务端校验了客户端证书是否正确,同样客户端也校验了服务端证书是否正确。
该app主要是在客户端封装了证书,相比于单向证书,多了在服务端校验客户端证书的过程,在Charles抓包过程中,使用的是Charles本身的证书,导致服务端校验失败,才会出现400 No required SSL certificate was sent
这样的提示,那也就是我们只需要拿到封装在客户端的证书以及证书密码,即可完成与服务端的通讯。
突破分析
确定该app为双向证书,那该app的静态资源里面一定有该app的证书文件,通过解压该app的ipa包,在Payload/***_New
原身里面发现该app的证书文件。
将该p12证书文件安装到Mac系统下,发现其需要密码。
破解密码
砸壳
由于App Store下载的应用都是经过苹果加密,加密之后的应用我们无法进行反编译分析,所以需要我们进行砸壳分析,也就是进行对已加密的应用进行解密操作。
这里使用frida-ios-dump
进行砸壳,获取其未加密的二进制文件。
获取密码
将该app的二进制文件使用ida pro
打开,并在string窗口搜索该证书名后进入该类里面,最后进行f5
看其伪代码。
通过ida分析,可以清楚的看到该app的证书密码。
由于该app将证书密码硬编码在代码中,也不需要使用其他逆向技术进行分析跟踪。
Charles导入客户端证书
按图中进行导入,最后输入密码即可。
最后抓包即可,并且不再提示证书异常。
python实现
在这里借助requests-pkcs12
实现。
小结
在该app的IOS版本中的双向证书的破解比安卓简单许多,只有frida进行砸壳-分析二进制文件,没有进行Hook操作,破解证书密码也方便不少。
参考
https://blog.csdn.net/linvo/article/details/9173511
https://zhuanlan.zhihu.com/p/139940495
http://zhaoxincheng.com/index.php/2020/07/15/oulapp%e7%9a%84%e5%8f%8c%e5%90%91%e8%af%81%e4%b9%a6%e7%a0%b4%e8%a7%a3/
https://github.com/m-click/requests_pkcs12
IOS系统抓包之短链-破解双向证书相关推荐
- 最全总结 | Android 系统抓包喂饭教程!
点击上方 "AirPython",选择 "加为星标" 第一时间关注 Python 原创干货! 1. 前言 大家好,我是安果! 在编写爬虫前,我们都需要对目标应用 ...
- Linux系统抓包回放,Linux下24小时持续网络抓包(TCPDUMP)
适用于CentOS/REHL/Ubuntu/Debian等,抓出来的包可用Wireshark直接打开分析. 参考文章: 原文的脚本相互调用时,名称有些问题,已修改 1.安装tcpdump 执行(Ubu ...
- iOS Charles 抓包
iOS Charles 抓包指南 - 从入门到精通_VictorZhang-CSDN博客_charles ios 下载安装包 Download a Free Trial of Charles • Ch ...
- IOS免费抓包神器——Stream
IOS免费抓包神器--Stream 前言 一.功能介绍 二. 安装步骤 1. App Store商店下载 2. 添加配置VPN 3. 安装CA证书 4. 开始抓包 5. 停止抓包 6. 抓包历史 7. ...
- 使用MacBook自带工具抓包跑字典破解WiFi
使用MacBook自带工具抓包跑字典破解WiFi https://zhuanlan.zhihu.com/p/21465597 一叶云 · 7 个月前 1. 打开airport命令 首先需解除rootl ...
- 用RVI方法,对iOS进行抓包
用RVI方法,对iOS进行抓包 一.创建远程虚拟接口Remote Virtual Interface(RVI) 该方法适用于iOS 5.0以上设备,需要Mac并且安装Xcode. 1.将iOS设备通过 ...
- mac下对ios设备抓包(5.0以上系统),通过rvi方式
运行rvictl错误的,先 $ sudo launchctl list com.apple.rpmuxd rvictl -s e03e46a1a45c2de8cca5af8c892e473b4fe68 ...
- IOS https抓包及10.3.3版本证书不生效问题解决
Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles: https://www.charlesproxy.com/download/ 2. HTTP抓 ...
- fiddler安卓模拟器与ios手机抓包
一.安卓模拟器(雷电模拟器)抓包 1.1fiddler基本配置 1.2导出Fiddler证书 Tools -> Options -> HTTPS -> Actions -> E ...
最新文章
- 表格 树形结构 HTML 语言 CSS,HTML介绍(示例代码)
- Android杂谈--通过DDMS实现电脑与Android设备(如手机,平板)的网络连接、截图...
- 创业,宁愿单兵作战也不要参在拙劣的团队里继续寻觅队友
- Equipment download and upload: all possible scenario
- layui中table监听单元格_layui table表格 监听头删除不请求后台
- 如何使用JavaScript删除CSS属性?
- selenium 基于浏览器驱动测试
- python 元组 列表 字典区别_Python列表、元组、字典、集合、字符串的异同总结
- cglib和asm相关的文章
- 保姆级My SQL-5.7.19安装教程
- 大数据_Hbase-数据存储介绍---Hbase工作笔记0002
- python学习笔记10-匿名函数lambda
- 【leetcode-101】 对称二叉树
- JAVA发送HttpClient请求及接收请求结果过程
- 【linux基础】cuDNN版本查询
- 人脸识别mtcnn原理
- http://www.qiantu.org/index.php?p=403#comments
- 计算机不显示验证码,为什么验证码不显示,验证码显示不出来
- 运筹学笔记 线性规划与单纯形法
- 【opencv-python】 HSV抠图-智能车拟合道路边界和中线
热门文章
- c++isdigit函数_C语言中isdigit()函数和isxdigit()函数的用法
- Hessian 矩阵
- 计算机专业赚钱多?高薪还是看金融!985王牌学院,平均起薪41万!
- 关于性能优化–选择nib还是故事板的讨论
- JOHNSON-COOK材料模型参数
- python题库爬楼梯
- MySQL 8.0 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- androidd时光轴效果实现
- 全基因组关联分析(GWAS)实现途径之一
- HBase常见运维工具整理