好友
阅读权限10
听众
最后登录1970-1-1
|
|
极验滑块第4代逆向分析网址:aHR0cHM6Ly9ndDQuZ2VldGVzdC5jb20v 好久没水文了,接着之前的极验滑块逆向https://www.cnblogs.com/FlowerNotGiveYou/p/15800165.html,发现最新的滑块有所变化,新增了一些参数,因此重新瞧瞧新的代码,开启目前的最新滑块进行这一篇文章。加密参数分析首先请求分析,过滤掉图片请求后找到load(加载)和verify(验证)两个请求,从分析他们的入参和返回值,可发现验证接口只有一个W为加密参数,其他的值都能在load的入参或者返回值找到,因此只需要分析W值生成就好
565
521
638
找加密点我是直接通过搜索process_token找到W的加密位置,你也能直接搜索W:来知道,这个和之前版本的一致
544
下断点
555
通过多次请求,可以知道计算W值的函数内变量有(或者说你需要计算的参数):pow_msg
pow_sign
c74d2cb0: {d076: '9c74'} 计算得来
passtime 滑动时间
setLeft 滑动距离
userresponse
So89: "1AnD" 请求不同的js会变化,但是可固定 1、参数 c74d2cb0: {d076: '9c74'}
706
往上翻,发现此参数就是a,然后a根据i和r计算得出
501
755
127
可以看到i和r计算和lot和lotRes值有关,直接搜索一下693和652,lot和lotRes生成的地方
578
可以看到lot的实际赋值与一串字符串有关,刚开始我将这个固定死了(对结果无影响),后来发现直接在前面的一个自执行函数中有赋值,而未知参数So89的值也已经有了
471
跳转到计算的函数,抠出来后缺啥补啥,大体可以得到这样的目录结构,执行完和目标一致
727
764
此时新增的键值对已经扣完。2、参数pow_msg、pow_sign简单看下pow_msg组成
253
1|0|md5|2025-04-14T08:48:05.208562+08:00|54088bb07d2df3c46b79f80300b0abbe|63d16e4da9fc4682aed6b359c796769c||6b6f5fb017bcaaea可知道这个组成为:时间戳(已知,load返回)+ captcha_id(已知) + lot_number(已知)+ h (未知)直接全局搜pow_msg可以找到pow_msg生成的位置
365
当然你也可以通过堆栈的方式寻找,但是有点麻烦找到h的生成函数,发现和之前的版本一致,一个随机的16位数
553
此时pow_msg的值已经知道,进一步查看pow_sign的生成发现pow_sign为MD5(pow_msg)
018
219
590
对比后发现此md5加密未修改有关滑块的距离和时间这些就不分析了,此版本没有对轨迹进行加密,只需要判断滑动距离和时间就ok3、参数W的生成
269
断点后进入函数,发现又回到了熟悉的两段拼接,进一步分析两段3-1 _ 值的生成简要分析,_ᖗᕿᖚᖚ 传入值为随机16位字符,实际就是 new (ᖀᖈᖙᖗ[ᖈᕸᕸᖚ(7)])函数加密16位字符
874
228
后续就是扣代码了,还是通过全局的思想,将此函数通过window全局,方便后面调用大体是这样
614
调用流程需要与chrome步骤保持一致,不然会导致this的指向问题
097
调用后能正确返回值,验证_的生成
958
838
3-2 u值的生成
710
分析得知,u值的加密是函数跟_的加密函数大体一致,不同的是u的生成取的是symmetrical函数依然是全局抠出来
130
363
可以看到是一致的,最后的一步arrayToHex就不扣了。其中需要注意的点,随机的16位字符串保持一致。4、验证结果
588
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|
|