zl程序教程

您现在的位置是:首页 >  Java

当前栏目

APP分析

2023-02-18 16:23:30 时间

前言

以前在家没上班的时候,想多学一门语言,便下载了该APP。APP中有个功能,经过测试可以刷取积分。后面找到一门工作了,就忘了此事。

APP

安卓下载量:327万 评价量:650

IOS下载量:未知 评价量:1860

分析

GDA查看是否加壳

Untitled

应用未加壳

方便进行后续分析

注册

这里当时还没搭环境,就没有抓包分析

刷取积分

点击切换教程功能,会触发一个请求数据包

Untitled

捕获到如下数据包

Untitled

屏幕此时也会显示,被授予了5金币奖励

尝试进行重放攻击

Untitled

经过测试,这里可以无限刷取金币,但是存在一个问题。数据包偶尔不能使用。

经过进一步测试,在授予金币时,服务器会确认用户状态。

所以如果要刷取金币,需要发送两个数据包。

  1. 客户端发送数据包,表明我在线,服务端返回用户信息
  2. 客户端发送刷取金币的数据包,服务端响应,用户金币增加

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解密成功

注:仅学习研究