前言
以前在家没上班的时候,想多学一门语言,便下载了该APP。APP中有个功能,经过测试可以刷取积分。后面找到一门工作了,就忘了此事。
APP
安卓下载量:327万 评价量:650
IOS下载量:未知 评价量:1860
分析
GDA查看是否加壳
应用未加壳
方便进行后续分析
注册
这里当时还没搭环境,就没有抓包分析
刷取积分
点击切换教程功能,会触发一个请求数据包
捕获到如下数据包
屏幕此时也会显示,被授予了5金币奖励
尝试进行重放攻击
经过测试,这里可以无限刷取金币,但是存在一个问题。数据包偶尔不能使用。
经过进一步测试,在授予金币时,服务器会确认用户状态。
所以如果要刷取金币,需要发送两个数据包。
-
客户端发送数据包,表明我在线,服务端返回用户信息 -
客户端发送刷取金币的数据包,服务端响应,用户金币增加
简单重放了一百次
保持会话数据包分析
user_email:邮箱地址
user_passwd:密码
local_time:本地时间戳,用于与服务器通信时间做校验,太长,服务器拒绝正常响应,可修改时间戳与服务器通信
在GDA中搜索user_passwd
追进去看一下
好家伙,真就base64传输吗???
加解密一下
大无语事件
离线数据同步分析
点击个人资料会触发一个同步更新数据包
经过测试offline_point一次最大可以同步100,且可以进行重放
每日打卡功能测试
抓取每日打卡数据包
每日打卡功能安全,在服务器端进行校验
阶段性任务快速通关
抓取通信数据包
修改step_idx的值,step_idx代表学习到哪一关。
测试题答案
做选择题时,会发送一个数据包请求服务器
服务器会返回一个包含题目以及正确答案的数据包
进行一下Unicode转码
数组中存放的是问题答案,一个是单选,多个是多选
又一个刷金币的地方
这里只需要更改step_idx与quest_id便可以
step_idx可以是任意的字符串或者数值
解密视频
在观看视频时,burpsuite会捕获到一个视频请求链接
视频被加密,需要进行解密
GDA搜索定位一下ZZV
native进行解密操作
暂时未HOOK解密成功
注:仅学习研究
原文始发于微信公众号(漫步安全):APP分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论