JS逆向 - 最新版某某安全中心滑块验证(wasm设备指纹)

文章目录

概要

提示:仅供学习,不得用做商业交易,如有侵权请及时联系

逆向:JS逆向 - 最新版某某安全中心滑块验证(wasm设备指纹)
URL:aHR0cHM6Ly9hcS45OS5jb20vVjMvTkRVc2VyX0xvZ2luLmh0bQ==

整体分析流程

提示:分析参数加密流程

1、按照以往我们分析滑块验证码的流程:获取滑块图片信息接口、验证接口

  • 获取图片验证码接口:/v1/captcha/get

  • 验证接口:/v1/captcha/verify

2、观察get接口,通过查找堆栈的方式分析:nonce 和 sign (这里的sessionid和d后面我们再看)


这里可以看到const {sign: a, nonce: u} = await this.getSign(); 代码是混淆的,直接可以使用在线还原混淆:https://webcrack.netlify.app/

提示:替换文件+debugger 清空浏览器缓存

单步进去观察:时间戳就是nonce+md5值就是sign

3、分析验证接口的加密:behaviorData、pointJson,搜索关键词



提示:这里说一下x就是滑块滑动的距离

这里initWasm函数是加载wasm初始化的,jsonEncryptor.ccall就是加密函数,搜索:behaviorData,发现加密是一样的

3、现在我们再来分析sessionid和d参数:

4、102接口:nonce、sgei、ts、core、detail、sig都是加密参数,直接搜索加密位置:detail


5、继续观察这个I的值从哪里来的:发现还是一个102接口给的


6、上面可以看到会去解密ePkCore、ePkDetail,然后gA(t, B)去加密最后的指纹

7、继续观察(C = A.v).ChangeDKey(I):其实这里也是一个wasm加密




提示:这里就是加载wasm的地方(c = new S.Module.CEncryptor).Init()

8、继续观察会发现sessionid就是init接口返回的


直接搜索:init加密:其实就是一个aes加密,key:K9Q4XI4QyEP0sANO



9、观察102接口的请求表单:第二次接口使用的ap和第三次接口的ap是一致的

10、最后我们看py实现的效果:

小结

提示:学习交流主页,星球持续更新中:(+星球主页+v)

相关推荐
金銀銅鐵13 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li15 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
kyriewen17 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
山河木马18 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
tangdou36909865519 小时前
AI真好玩系列-2分钟快速了解DeepAgents | Quick Guide to DeepAgents in 2 Minutes
前端·javascript·后端
张元清19 小时前
React useIntersectionObserver Hook:懒加载与可见性检测(2026)
javascript·react.js
彭于晏爱编程19 小时前
纯 JS + Node,一个下午手搓了能读懂公司代码的 AI 助手,老板以为我转行了
前端·javascript
小九九的爸爸20 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
妙码生花20 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十四):眨眼小人登录页制作
前端·javascript·ai编程
妙码生花20 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十三):前端路由初始化
前端·javascript·ai编程