极验深知v2分析

举报
冬晨夕阳 发表于 2022/07/28 23:33:45 2022/07/28
【摘要】 案例地址:geetest.com/Register 案例内容:分析极验登录时深知检测V2提交的Request Payload信息。 文章内容仅作学习参考,如有侵权请联系作者进行删除 ...

案例地址:geetest.com/Register
案例内容:分析极验登录时深知检测V2提交的Request Payload信息。

文章内容仅作学习参考,如有侵权请联系作者进行删除

在这里插入图片描述



接口分析

POST请求
在这里插入图片描述

加密Payload:
在这里插入图片描述


参数定位

长话短说,通过XHR断点。

在这里插入图片描述

往回走5步就可以看到参数生成的位置。

在这里插入图片描述
根据调试信息和接口中的值对比,发现e = DWYi[ymDv(1137)](l)是payload的其中一部分。

继续调试,发现代码:e + h[AUJ_(1173)]

结合调试信息得出结论:payload = DWYi[ymDv(1137)](l) + h[AUJ_(1173)]


h[AUJ_(1173)]

经测试,h是动态的,其中的aeskey和rsa的值不固定。
在这里插入图片描述
再次分析源码,可知 h = o[AUJ_(1156)]()
在这里插入图片描述

继续调试,AUJ_(1156) = ‘LpFU’
在这里插入图片描述
双击点进去,找到对应的方法。
在这里插入图片描述

把这个文件内容在 Lxtools 中解混淆一下,变量名还原。

复制到本地格式化后的整体代码结构如下:
在这里插入图片描述
发现都是自执行的方法,手动处理后可以改成如下所示:

在这里插入图片描述

然后根据报错把环境补上,比如出现的这些
在这里插入图片描述

补完之后再次运行,会返回MlHc。 然后修改下代码,让其返回 LkEB['prototype'].LpFU()
在这里插入图片描述

运行测试,成功打印了 o[AUJ_(1156)](),从中提出rsa参数即可。
在这里插入图片描述


DWYi[ymDv(1137)](l)

先查看各项含义,其中 l 是EbF_[ymDv(409)](e, h[ymDv(1194)]),调用方法为DWYi['tc_t']
在这里插入图片描述


先看 l

可知此处的 aeskey 是从我们第一段分析分析的 o[AUJ_(1156)]() 对象中提取的。
在这里插入图片描述

此处的e 中包括了操作id、行为轨迹,以及未知参数。
在这里插入图片描述

EbF_[ymDv(409)]是对应的encrypt加密方法。在本地中可看到由JOOO返回,JOOO在EbF_中。
在这里插入图片描述
那可以直接使用 EbF_.encrypt()来调用加密方法。
在这里插入图片描述
即:EbF_.encrypt(e, h[ymDv(1194)])

在这里插入图片描述

本地调用,成功生成 l 。
在这里插入图片描述


调用tc_t

有了l 之后,我们在补的JS中直接调用DWYi.tc_t(l) 即可。

总体流程:

// 注册 _asekey_rsa 
_asekey_rsa = LkEB['prototype'].LpFU()
rsa = _asekey_rsa.rsa
aeskey = _asekey_rsa.aeskey
// 生成 l
var l = EbF_.encrypt(e,aeskey)
// 加密后拼接
return DWYi.tc_t(l)+rsa

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

打印结果:
在这里插入图片描述


总结

主要内容是流程分析和对混淆代码的处理和调用。

文章内容相对深知检测来说只是皮毛,只分析了Payload参数,深层的检测分析任重而道远。

本文辅助代码在公众号《Pythonlx》回复 shenzhi 领取。

在这里插入图片描述

文章来源: blog.csdn.net,作者:考古学家lx(李玺),版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43582101/article/details/126032321

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。