前言

上次文章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系统抓包之短链-破解双向证书相关推荐

  1. 最全总结 | Android 系统抓包喂饭教程!

    点击上方 "AirPython",选择 "加为星标" 第一时间关注 Python 原创干货! 1. 前言 大家好,我是安果! 在编写爬虫前,我们都需要对目标应用 ...

  2. Linux系统抓包回放,Linux下24小时持续网络抓包(TCPDUMP)

    适用于CentOS/REHL/Ubuntu/Debian等,抓出来的包可用Wireshark直接打开分析. 参考文章: 原文的脚本相互调用时,名称有些问题,已修改 1.安装tcpdump 执行(Ubu ...

  3. iOS Charles 抓包

    iOS Charles 抓包指南 - 从入门到精通_VictorZhang-CSDN博客_charles ios 下载安装包 Download a Free Trial of Charles • Ch ...

  4. IOS免费抓包神器——Stream

    IOS免费抓包神器--Stream 前言 一.功能介绍 二. 安装步骤 1. App Store商店下载 2. 添加配置VPN 3. 安装CA证书 4. 开始抓包 5. 停止抓包 6. 抓包历史 7. ...

  5. 使用MacBook自带工具抓包跑字典破解WiFi

    使用MacBook自带工具抓包跑字典破解WiFi https://zhuanlan.zhihu.com/p/21465597 一叶云 · 7 个月前 1. 打开airport命令 首先需解除rootl ...

  6. 用RVI方法,对iOS进行抓包

    用RVI方法,对iOS进行抓包 一.创建远程虚拟接口Remote Virtual Interface(RVI) 该方法适用于iOS 5.0以上设备,需要Mac并且安装Xcode. 1.将iOS设备通过 ...

  7. mac下对ios设备抓包(5.0以上系统),通过rvi方式

    运行rvictl错误的,先 $ sudo launchctl list com.apple.rpmuxd rvictl -s e03e46a1a45c2de8cca5af8c892e473b4fe68 ...

  8. IOS https抓包及10.3.3版本证书不生效问题解决

    Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles: https://www.charlesproxy.com/download/ 2. HTTP抓 ...

  9. fiddler安卓模拟器与ios手机抓包

    一.安卓模拟器(雷电模拟器)抓包 1.1fiddler基本配置 1.2导出Fiddler证书 Tools -> Options -> HTTPS -> Actions -> E ...

最新文章

  1. 表格 树形结构 HTML 语言 CSS,HTML介绍(示例代码)
  2. Android杂谈--通过DDMS实现电脑与Android设备(如手机,平板)的网络连接、截图...
  3. 创业,宁愿单兵作战也不要参在拙劣的团队里继续寻觅队友
  4. Equipment download and upload: all possible scenario
  5. layui中table监听单元格_layui table表格 监听头删除不请求后台
  6. 如何使用JavaScript删除CSS属性?
  7. selenium 基于浏览器驱动测试
  8. python 元组 列表 字典区别_Python列表、元组、字典、集合、字符串的异同总结
  9. cglib和asm相关的文章
  10. 保姆级My SQL-5.7.19安装教程
  11. 大数据_Hbase-数据存储介绍---Hbase工作笔记0002
  12. python学习笔记10-匿名函数lambda
  13. 【leetcode-101】 对称二叉树
  14. JAVA发送HttpClient请求及接收请求结果过程
  15. 【linux基础】cuDNN版本查询
  16. 人脸识别mtcnn原理
  17. http://www.qiantu.org/index.php?p=403#comments
  18. 计算机不显示验证码,为什么验证码不显示,验证码显示不出来
  19. 运筹学笔记 线性规划与单纯形法
  20. 【opencv-python】 HSV抠图-智能车拟合道路边界和中线

热门文章

  1. c++isdigit函数_C语言中isdigit()函数和isxdigit()函数的用法
  2. Hessian 矩阵
  3. 计算机专业赚钱多?高薪还是看金融!985王牌学院,平均起薪41万!
  4. 关于性能优化–选择nib还是故事板的讨论
  5. JOHNSON-COOK材料模型参数
  6. python题库爬楼梯
  7. MySQL 8.0 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  8. androidd时光轴效果实现
  9. 全基因组关联分析(GWAS)实现途径之一
  10. HBase常见运维工具整理