当前位置:网站首页>极验深知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 领取。
边栏推荐
- The effective square of the test (one question of the day 7/29)
- net-snmp私有mib动态加载到snmpd
- 622 设计循环队列——Leetcode天天刷【循环队列,数组模拟,双指针】(2022.8.2)
- 怎么将自己新文章自动推送给自己的粉丝(巨简单,学不会来打我)
- CSDN帐号管理规范
- Detailed explanation of JWT
- 调用EasyCVR云台控制接口时,因网络延迟导致云台操作异常该如何解决?
- Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
- JMeter笔记5 |Badboy使用和录制
- 那些年我写过的语言
猜你喜欢

涨薪5K必学高并发核心编程,限流原理与实战,分布式计数器限流

「游戏建模干货」建模大师几步操作,学习经典,赶紧脑补一下吧

【统计机器学习】线性回归模型

虚拟机vmware设置桥接模式上网

JS 内置构造函数 扩展 prototype 继承 借用构造函数 组合式 原型式creat 寄生式 寄生组合式 call apply instanceof

The ecological environmental protection management system based on mobile GIS

深入理解JVM-内存结构

ECCV2022 | 用于视频问题回答的视频图Transformer

余弦距离介绍

面试突击:什么是粘包和半包?怎么解决?
随机推荐
net-snmp私有mib动态加载到snmpd
入门3D建模基础教程详细分解
软件测试基本流程有哪些?权威的第三方软件检测机构推荐
使用 ReportLab 绘制 PDF
【木马免杀】
Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
Detailed demonstration pytorch framework implementations old photo repair (GPU)
安装anaconda并创建虚拟环境
【飞控开发高级教程3】疯壳·开源编队无人机-定高、定点、悬停
LeetCode 952. Calculate Maximum Component Size by Common Factor
ERROR: You don‘t have the SNMP perl module installed.
dpkg强制安装软件
虚拟机vmware设置nat模式上网
CS kill-free pose
傅里叶变换(深入浅出)
子结点的数量(2)
Introduction to Cosine Distance
1161 最大层内元素和——Leetcode天天刷【BFS】(2022.7.31)
【微信小程序2】事件传参与数据同步[03]
Handler source code analysis