大神论坛

找回密码
快速注册
查看: 1071 | 回复: 1

[原创] 【Android安全】记对某xiaofubao校园APP的登入协议分析

主题

帖子

10

积分

初入江湖

UID
113
积分
10
精华
威望
20 点
违规
大神币
68 枚
注册时间
2021-06-20 15:17
发表于 2022-03-26 22:01
本帖最后由 南故 于 2022-03-26 22:01 编辑

Intro

现在网络上貌似没有,出于学习与兴趣,对此APP通信进行分析,仅供学习。

抓包工具

使用fiddler4,测试机使用代理连接并配置证书,此处不做讲解

登陆方式

某校园提供多种登陆方式,包括微信支付宝等。这里我们研究下密码登陆以及短信验证码登陆。

首先我们选择密码登陆,界面大概是这样子:

抓包分析

输入账号密码后,点击登陆,可以发现客户端发起了一个请求公钥的请求,并发送学校ID、设备ID、平台信息的webform的封装。然后服务端返回公钥与成功的json:

获取公钥后,客户端发起密码登陆的请求,内容包括账号信息(手机号)、经过加密后的密码、设备ID等。如果账号或密码错误,用户重新登陆客户端会重复发起公钥请求、登陆请求,并且公钥在一段时间内相同,超过有效时间会无效:

加密方式

此处的密码加密困扰了我一会。一开始将密码明文使用请求的公钥进行加密,发现不对(后来才知道RSA公钥加密会填充16位伪随机数),怀疑加盐,尝试选择明文攻击,无果,于是对客户端APK进行逆向:

随后发现软件进行了加固与混淆,对于我这种逆向菜鸟来说太难了

还尝试了下网页工具反混淆,但是效果很差