当前位置:网站首页>极验深知v2分析
极验深知v2分析
2022-08-03 19:55:00 【李玺】
案例地址: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
打印结果:
总结
主要内容是流程分析和对混淆代码的处理和调用。
文章内容相对深知检测来说只是皮毛,只分析了Payload参数,深层的检测分析任重而道远。
本文辅助代码在公众号《Pythonlx》回复 shenzhi 领取。
边栏推荐
- 宁德时代2号人物黄世霖辞任副董事长:身价1370亿
- 开源生态研究与实践| ChinaOSC
- JS 内置构造函数 扩展 prototype 继承 借用构造函数 组合式 原型式creat 寄生式 寄生组合式 call apply instanceof
- 149. The largest number on a straight line, and check the set
- 那些年我写过的语言
- The effective square of the test (one question of the day 7/29)
- MySQL基础
- 第三方验收测试报告有什么作用?如何获取权威软件测试报告?
- relocation R_X86_64_PC32 against,/usr/bin/ld: final link failed: Bad value
- Shell编程之循环语句
猜你喜欢
【leetcode】剑指 Offer II 008. 和大于等于 target 的最短子数组(滑动窗口,双指针)
嵌入式分享合集27
List类的超详细解析!(超2w+字)
揭秘5名运维如何轻松管理数亿级流量系统
ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
高位套牢机构,用友网络的信任危机是如何产生的?
倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
子树的大小
622 设计循环队列——Leetcode天天刷【循环队列,数组模拟,双指针】(2022.8.2)
【leetcode】剑指 Offer II 009. 乘积小于 K 的子数组(滑动窗口、双指针)
随机推荐
glide set gif start stop
MySQL 主从,6 分钟带你掌握!
JMeter笔记5 |Badboy使用和录制
Calculation of the array serial number of Likou brush questions (one question per day 7/28)
阿洛的反思
NNLM、RNNLM等语言模型 实现 下一单词预测(next-word prediction)
Internet Download Manager简介及下载安装包,IDM序列号注册问题解决方法
嵌入式分享合集27
后台图库上传功能
从腾讯阿里等大厂出来创业搞 Web3、元宇宙的人在搞什么
盘点在线帮助中心对企业能够起到的作用
LeetCode 952. Calculate Maximum Component Size by Common Factor
Pytorch GPU 训练环境搭建
虚拟机vmware设置桥接模式上网
简易电子琴设计(c语言)
Golang死信队列的使用
消除对特权账户的依赖使用Kaniko构建镜像
【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
揭秘5名运维如何轻松管理数亿级流量系统
入门3D建模基础教程详细分解