首页
社区
课程
招聘
[原创]js逆向 验证码 网易易盾分析
发表于: 2天前 768

[原创]js逆向 验证码 网易易盾分析

2天前
768
    1.  网页一共发送4次请求,而对我们有用的请求只有后面那三次。


       第二次请求:


               响应返回一个token,对后面的两个请求都有用


               仅一个请求参数需要逆向:cb(类似于uuid的作用,后面的请求也会用到,每一次请求都不一样)


       第三次请求:


               响应回来背景图片的url(重要信息仅此一个)


               请求参数也是只用逆向cb,token(第二次请求返回的)


      第四次请求:


               响应会来validate值,就说明滑块验证通过


               请求参数逆向:


                       cb


                       token(第二次请求返回的)


                       data :涉及滑块轨迹及其加密

  1. 完整解决方案的实现
    结合上述发现,我最终构建的破解流程如下:

初始化阶段:

1 获取验证码图片和token
2 使用CV算法识别滑块初始位置
3 轨迹生成阶段:

计算实际滑动距离(含修正值)
1 生成符合人类行为的轨迹点
2 实时加密每个轨迹点
3 参数组装阶段:

构建完整的data参数
1 计算p和ext参数
3 发送验证请求


载荷里面有cb 和token  这个cb相当于是uuid 每发起一次请求图片会发生变化 这个cb 就会发生变化

所以说要逆向cb  要动态起来 至于token可以继续往下测试

bash扣下来  第一次可以跑

再跑一次 发现error  

再网页重新刷新图片 复制bash  注释token  发现还是能请求成功 说明token可以先固定

把cb 注释掉 跑不起来 说明逆向的就是cb

启用堆栈跟栈  跟到这一块位置 发现cb 还是加密的 要看他怎么加密的 还得往前跟栈

尝试直接搜索关键字段cb: /= 断不住 只能跟栈了





cb跟栈 跟到这一块

解混淆  发现是webpack  把找到的cb 函数导出来

目前创建了三个文件

现在可以跑了  补上环境就可以了  2026.5.12

监控div  就会吐新的环境问题

现在出值了  这个cb值不一定能用 后面需要测试

cb值拿下了

小阶段成功! 现在要弄的是校验接口(滑动轨迹触发)

不是图片接口(刷新图片触发)了

token和cb 都出来了  校验接口token就是在图片接口返回的token 然后替换校验接口token就可以

就这几个参数

如果接口滑动成功  会返回validate 进行后端校验 就可以过掉

依旧是跟堆栈  跟到这一块 还是加密 还得往前跟

跟到这一块   鼠标事件处理函数

这些参数疑似作用

还原到本地 对应是这个 实际上是stringfy

继续

上面的都ok 下来就是要看轨迹数据


进来之后往下翻 打上条件断点 重新触发


进到这个栈

实际就是轨迹算法  模仿这个生成x,y,z

现在报这个错误

那一个大数组是

无语死了 就说一直没过

滑动距离


现在到f了 参数已经过半



方法

作用

传入参数

原因

sample(轨迹, 50)

加密轨迹中取样 50 条

trace_data

取样加密后的数据,生成d

参数

unique2DArray(轨迹, 2)

原始二维轨迹去重

trace

去重原始坐标,生成f

参数

链接校验接口的载荷数据 出值了 23:49

现在要测试成不成功  

py代码生成轨迹

第一个图片接口的token

py代码识别图片距离

然后给js 生成载荷 最后在拿第二次验证接口的请求

2026 现在要结合py 实现最终的滑动校验

把缺口背景图和滑块图 以及token拿取下来

0:40 又报这个错误

ok了 刚才是因为是self,cb没有调用

6个bug

改正

问题



[招生]科锐逆向工程师培训(2026年7月3日实地,远程教学同时开班, 第56期)!

收藏
免费 0
打赏
分享
最新回复 (1)
雪    币: 112
活跃值: (8945)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
tqlz
1天前
0
游客
登录 | 注册 方可回帖
返回