APP分析
前言
以前在家没上班的时候,想多学一门语言,便下载了该APP。APP中有个功能,经过测试可以刷取积分。后面找到一门工作了,就忘了此事。
APP
安卓下载量:327万 评价量:650
IOS下载量:未知 评价量:1860
分析
GDA查看是否加壳
Untitled
应用未加壳
方便进行后续分析
注册
这里当时还没搭环境,就没有抓包分析
刷取积分
点击切换教程功能,会触发一个请求数据包
Untitled
捕获到如下数据包
Untitled
屏幕此时也会显示,被授予了5金币奖励
尝试进行重放攻击
Untitled
经过测试,这里可以无限刷取金币,但是存在一个问题。数据包偶尔不能使用。
经过进一步测试,在授予金币时,服务器会确认用户状态。
所以如果要刷取金币,需要发送两个数据包。
- 客户端发送数据包,表明我在线,服务端返回用户信息
- 客户端发送刷取金币的数据包,服务端响应,用户金币增加
Untitled
简单重放了一百次
Untitled
保持会话数据包分析
Untitled
user_email:邮箱地址
user_passwd:密码
local_time:本地时间戳,用于与服务器通信时间做校验,太长,服务器拒绝正常响应,可修改时间戳与服务器通信
在GDA中搜索user_passwd
Untitled
追进去看一下
Untitled
好家伙,真就base64传输吗???
Untitled
加解密一下
大无语事件
离线数据同步分析
点击个人资料会触发一个同步更新数据包
Untitled
经过测试offline_point一次最大可以同步100,且可以进行重放
每日打卡功能测试
Untitled
抓取每日打卡数据包
Untitled
每日打卡功能安全,在服务器端进行校验
阶段性任务快速通关
抓取通信数据包
Untitled
修改step_idx的值,step_idx代表学习到哪一关。
测试题答案
做选择题时,会发送一个数据包请求服务器
服务器会返回一个包含题目以及正确答案的数据包
Untitled
进行一下Unicode转码
Untitled
数组中存放的是问题答案,一个是单选,多个是多选
又一个刷金币的地方
这里只需要更改step_idx与quest_id便可以
Untitled
step_idx可以是任意的字符串或者数值
解密视频
在观看视频时,burpsuite会捕获到一个视频请求链接
Untitled
视频被加密,需要进行解密
GDA搜索定位一下ZZV
native进行解密操作
暂时未HOOK解密成功
注:仅学习研究
相关文章
- Axure RP 8中文版(交互式原型设计工具) axure rp8v8.1.0.3400
- 浏览器滚动条的自定义和隐藏
- tep支持pytest-xdist分布式执行用例及合并Allure报告
- Java编程中忽略这些细节,Bug肯定找上你
- 9个问题,带你掌握流程控制语句中的java原理
- 从IDC Marketscape报告看区块链政务数字化未来:权威解读新热点、新机遇
- chatGPT的火爆,并不偶然
- React 开发 | 常用 Hooks
- JDK19都出来了~是时候梳理清楚JDK的各个版本的特性了【JDK12特性讲解】
- Eolink 让我“重新认识“了自动化测试...
- 老板:你也把咱们网站弄成灰色——网站变灰色如何实现
- iptables规则案例
- ‘极锐’-一种新的锐化算法
- PS/LR滤镜插件套装 Nik Collection v5.3.0 Win/Mac
- Chrome插件:uBlock Origin – Chrome浏览器高效低占用的广告拦截插件
- 前端与区块链
- 云原生之微服务
- 集群动态环境管理神器 Modules
- 记 os_object_release Crash 排查
- 记 libAccessibility 通知 Crash 排查