记一次抓包实现校园APP无视密码强制登录

查看 28|回复 1
作者:bgwu666   
前言
学校的APP前后端分离,所以有很多API接口在APP数据交换过程中可以被记录分析,本文讲述了使用Charles软件配合安卓模拟器进行抓包分析,经过一系列简单操作实现无需密码强制登录APP。
注:本文已经过脱敏处理。
工具安装及环境配置
所需工具
Charles 4.5.6、Openssl3.1.1、雷电模拟器 9.0.16(安卓9)
环境配置
Charles环境配置
因为大部分API接口都通过HTTPS进行数据传输,所以需要进行HTTPS抓包相关配置。
[ol]

  • 打开Charles软件,依次点击帮助-SSL代{过}{滤}理-安装Charles根证书,安装进受信任的根证书颁发机构。

  • 依次点击代{过}{滤}理-SSL设置,勾选启用SSL代{过}{滤}理设置,并在下面点击添加,主机:"*",端口:"443",点击确定添加。

  • 点击帮助-SSL代{过}{滤}理-保存Charles根证书,选择一个位置保存即可。
    [/ol]
    为什么不选择为移动设备安装Charles证书? 简单尝试后发现模拟器无法下载Charles证书,故放弃。猜想因为自带浏览器问题。

  • 打开导出文件夹可以看到导出的证书后缀为.pem格式的,Android系统证书后缀为.0格式,所以接下来对证书进行Hash计算。

  • 右键导出文件夹空白处打开终端, 输入指令开始校验Hash值。
    [/ol]
    openssl x509 -inform PEM -subject_hash_old -in Charles.pem
  • 使用上面Hash的值对pem证书进行重命名,命名格式为:值.0,Charles配置完毕。
    [/ol]
    雷电模拟器配置
    雷电模拟器是Android9版本,系统在模拟器中较新,可以很好的支持校园APP运行。雷电模拟器需要配置以下几点:Root权限开启、证书导入、网络桥接、网络代{过}{滤}理设置。
    Root权限开启
    进入雷电模拟器设置,点击其他设置-ROOT权限,勾选开启确认保存。
    证书导入
    模拟器中安装好并打开MT管理器,授予Root权限,进入/etc/security/cacerts/,将上述第5步生成并修改好名字的证书直接拖入模拟器窗口,记好路径,在MT管理器中将证书复制到cacerts文件夹中,修改权限为644。
    网络桥接
    进入雷电模拟器设置,点击网络设置-网络桥接模式,勾选开启,点击安装驱动,选择你现在的上网卡,我的是笔记本,所以选择默认无线网卡,IP设置无特殊要求默认DHCP即可,保存设置。
    网络代{过}{滤}理
    回到Charles,点击帮助-本地IP地址,查看本机无线网卡IP,进入WIFI设置,为WIFI设置代{过}{滤}理,IP填写你的网卡IP,端口填写8888,确认保存。注意,IP会因为网络硬件配置以及软件配置不同而不同,注意自行辨别你的网卡IP。
    该贴主要为分享,故工具配置,环境搭建没有详写,如果需要更详细的教程,可以自行bing,关键词:Charles、抓包、Android、https
    推荐一篇论坛上的帖子:抓包神器之Charles配置和使用手册 - 『移动安全区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
    分析APP请求
    [ol]
  • Charles开始记录,打开APP,先输入错误的密码测试登录接口,发现一条Path为/api/user/login的POST请求,查看内容断定这条是登录API。
    [/ol]


    image-20230622102634086.png (87.88 KB, 下载次数: 0)
    下载附件
    2023-6-22 12:56 上传



    Snipaste_2023-06-22_12-50-11.png (32.4 KB, 下载次数: 0)
    下载附件
    2023-6-22 12:57 上传

  • 分析Body表单
    [table]
    [tr]
    [td]Key[/td]
    [td]Value[/td]
    [td]note[/td]
    [/tr]
    [tr]
    [td]userid

    模拟器, 证书

  • Williamongh   

    先算法助手hook一下,看看是不是常规加密,能省很多事
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部