吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1307|回复: 14
上一主题 下一主题
收起左侧

[Web逆向] 雷池WAF滑块版本逆向分析

  [复制链接]
跳转到指定楼层
楼主
LiSAimer 发表于 2024-12-31 14:16 回帖奖励

前言

项目中的网站防护突然更新了。
原先是无感检测,现在加了个滑块。
上一版的算法看的这位佬的文章写出来的。https://www.52pojie.cn/thread-1930242-1-1.html
网上先找了一圈没有相关的分析文章,只能自己顶了。

目标网站

aHR0cHM6Ly93d3cuY2hhbmdhbmp5enguY29tLw==

DevTool控制台检测

滑动滑块后被检测到

看下控制台发包数据,只有一个js文件challenge.js,看来就是它了。
先过一眼代码,不多,五千多行,没有混淆。

既然是滑块滑动完后触发检测,那我们先加个mouseup的鼠标监听断点。
滑动鼠标到位置后松开,看下断点位置。定位到了函数j的位置,向下继续走,能看到先拿到了轨迹去判断,too-fast检测滑动太快,too-slow滑动太慢。中间一系列计算检测是否正确滑动到尾端位置。 直接到最后的w函数。

看下入参
e:固定域名
t:6205cd33ef8541dfaf16eabb6329dcda_61    访问首页时响应内容里的,每次值都不一样,先标记为client id后续会用到。
s:轨迹

进入w函数往下走两步,触发了当前环境正在被检测,ok找到了。

看看v函数,有个43位数组,遍历执行每个数组的fun函数,再进fun代码看看。

好家伙,原来是43个检测点。

那就懂了,初始分数为0,每检测到一个点,增加相应分数,分数大于等于100则触发被检测到。
这里不管那么多,直接从源头注释掉完事了。

流程梳理

检测相关代码去掉后。重新刷新网页滑动滑块,正确进入网站。
再分析发包数据,可知整体流程如下。
1、请求首页获取client id和cookie sl-session
2、请求获取challenge.js文件先进行环境检测
3、携带client_id请求issue接口获取一个数组和issue_id
4、请求获取calc.js文件,在里面操作wasm
4、将请求issue获取的数组在wasm中进行相关计算获得一个新的数组
5、携带新的数组和一些固定参数请求verify接口获取jwt也就是最终的cookie sl-challenge-jwt
拿到cookie sl-session和sl-challenge-jwt就能获取到网页信息。

wasm AI分析

开始看到有wasm文件我也很蛋疼,虽说也不是没解决过,但就很无力。
不过还好,看了下也就不到四百行,那就不用手写WebAssembly了,可以用 AI 刚一下。

回到上回断点处继续往下走,看到fetch要获取calc.js文件,直接跳到then。
new Blob它创建一个Blob对象,i 是calc.js的代码内容,
URL.createObjectURL 为 Blob 创建一个唯一的 URL,这个 URL 可以被用来引用 Blob 中的内容,
new Worker 创建一个新的 Web Worker,使用上面创建的 URL 作为 Worker 的脚本来源。

这样你会看到多了这么一个文件,里面其实就是calc.js的内容。

进入文件搜索 WebAssembly 定位到调用wasm的位置。可以看到它整体被赋值给了 onmessage(玩过5s盾的应该都被这个虐过),
那直接搜索 postMessage 可定位到它的发送位置。

断点继续往下走,就会进入wasm了。

先分析流程
reset > arg > calc > ret
这是调用wasm中方法的顺序。

下面交给AI
我是先分段丢给它,每个方法都让AI分析出具体的解释。

每一段都分析完后再让它结合起来复现算法。
这一块费时较多,我先用的chatGPT 4o模型,每次调教后给的代码执行的结果都是乱七八糟的格式完全对不上。
于是我换了Claude3.5 Sonnet模型,这回给的代码执行结果的格式对上了,但是结果是不准确的,和浏览器调试不一致,

那剩下的就是对比下wasm的执行流,抠抠细节,多调教会正确代码就出来了。

最终请求verify接口是带上新生成的result数组,其他参数写死即可,没错轨迹也可以写死没有校验。


总结

总的来说不是那么难,在调试的时候需要有目的的去定位关键位置,代码里有很多setTimeout和Promise,单步调试会很困难。
有了AI帮助后,分析代码也轻松了很多。
这是在2024年的最后一天编写的文章,也祝大家新年快乐。

免费评分

参与人数 8吾爱币 +8 热心值 +8 收起 理由
youngfun39 + 1 + 1 热心回复!
Tonyha7 + 2 + 1 用心讨论,共获提升!
Bizhi-1024 + 1 谢谢@Thanks!
ioyr5995 + 1 + 1 我很赞同!
FitContent + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Wangweikang99 + 1 + 1 谢谢@Thanks!
liuxuming3303 + 1 + 1 谢谢@Thanks!
cyzhaojia + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
KeepGoingOn 发表于 2024-12-31 21:02
感谢分享
3#
xiiye 发表于 2024-12-31 21:30
4#
g10020200 发表于 2024-12-31 22:18
5#
g10020200 发表于 2024-12-31 22:19
666感谢分享
6#
g10020200 发表于 2024-12-31 22:22
666盖着飞翔
7#
SmileLoveSex 发表于 2025-1-1 06:10
感谢分享,谢谢。
8#
tco2k 发表于 2025-1-1 09:35
感谢发布原创作品,吾爱破解论坛因你更精彩!
9#
Knm 发表于 2025-1-1 12:33
感谢大佬分享
10#
qiuqiuqiu123 发表于 2025-1-1 20:18
tql,感觉大佬用ai分析就是手到擒来
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-4 04:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表