首页
社区
课程
招聘
WEB逆向—数美滑块逆向流程分析
发表于: 2024-5-13 23:27 7058

WEB逆向—数美滑块逆向流程分析

2024-5-13 23:27
7058

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

最近闲来无事 搞一下数美滑块。可能很简单。搞过的人可以划走了。但是自己去搞。不看教程 说实话还是有点废心神的。

aHR0cHM6Ly93d3cuaXNodW1laS5jb20vdHJpYWwvY2FwdGNoYS5odG1s

如下图所示

其实所需要逆向的就两个接口

我们来看看其中有哪些参数以及返回的参数

captchaUuid: 生成的UUID 32位随机字符串

capchaUuID的算法如下:

organization:每个站点的captchaUuid是固定的,姑且可以看成固定的组织ID

其他参数:model 为模式 模式分为:slide 滑块、auto_slide 无感验证、select 文字点选、icon_select 图标点选、seq_select 语序点选、spatial_select 空间推理

然后伪造参数请求就可以了。

然后看下请求响应的值。

bg: 背景图片

fg: 滑块缺口地址 PS:这里如果是其他验证码 fg会变成order。order是提示信息。了解一下就行。本文不展示了。

k,l,rid: 接口返回的值 方便verify 参数调用。

这里我们看下请求参数

下文划横线的 12个加密值都是JS返回的。不包括之前的 organization以及captchaUuid

其中mu为最长的参数。 为轨迹加密。

再看看返回值。

根据riskLevel 。pass即通过。

这里在逆向前需要做个准备。本文不涉及任何解混淆。 就是干

这里要注意。数美这个滑块做了格式化检测。你一旦替换 或者 格式化了 js 控制台就会卡死 。这里要注意。

只有当你替换完之后重新压缩代码 才会成功。

这里直接断点打在下图位置。这个是请求传参。参数已经生成。往上找栈。

然后发现这个是封装的请求。搜索一下这个参数:_0x28800d

然后搜索到了 定义的地方。

如下文代码:

主打就是一手硬撸。直接去给他解混淆(手撸)搞出来、

ok 这里可以发现 mp,oc,xy,jo 都是由 getEncryptContent这个方法加密得来的。

而剩下8个参数在哪里呢。答案是**_0x298b01**

如下图所示

剩下就是追这个函数的栈了。

然后发现这是个控制流。

根据mode 模式的不同走不同的case。这里mode指的是滑块 点选等等等。自己慢慢研究即可。

然后这里getEncryptContent 函数可以自己扣。也可以自己去python还原。

其实断点打在这里。可以明显看出 第一个值是加密的值。第二个值是密钥。

这里有个小坑: mu是轨迹。在使用轨迹生成的时候。识别图片得到的距离需要 / 2 。至于为什么 请看下图

这里看下结果。

响应返回 PASS 代表成功返回

响应返回 REJECT代表参数错误或者轨迹错误


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 4
支持
分享
最新回复 (1)
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
大佬 方便解释一下captchaUuid怎么定位到具体算法位置的吗?
2024-6-19 17:29
0
游客
登录 | 注册 方可回帖
返回
//