zy-极验滑快

This commit is contained in:
luzhisheng 2023-03-24 13:11:00 +08:00
parent 247d3c74ec
commit e2c3c8c318
6 changed files with 31 additions and 31 deletions

View File

@ -6,7 +6,7 @@ https://www.geetest.com/demo/slide-float.html
## 通过抓包的流程
![debugger](../img/2.png)
![debugger](../../img/2.png)
### 1.获取了
challenge: "a9ecc15e9116f3045390258cfae06040"
@ -190,7 +190,7 @@ https://www.geetest.com/demo/slide-float.html
### 1. 找到乱码原图还原
![debugger](../img/3.png)
![debugger](../../img/3.png)
点击图片html查看发现有 ```<canvas>``` 标签定义图形
@ -199,11 +199,11 @@ https://www.geetest.com/demo/slide-float.html
<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。
你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符以及添加图像。
![debugger](../img/4.png)
![debugger](../../img/4.png)
进行调试canvas创建图片断点
![debugger](../img/5.png)
![debugger](../../img/5.png)
这里能看到 canvas 的 width:312 height:160 等其他信息
@ -225,13 +225,13 @@ https://www.geetest.com/demo/slide-float.html
a = XX(a);
a = a-1;
![debugger](../img/6.png)
![debugger](../../img/6.png)
1. switch 通过case判断是否是哪个下标执行流程化我们可以找到数组内容就可以判断流程。
2. 或者给每个case下断点给switch下断点进行单部运行
![debugger](../img/7.png)
![debugger](../../img/7.png)
UT是个数组就是图片的摆放的顺序

View File

@ -2,22 +2,22 @@
滑动错误的时候也会生成w参数这就可以进行调试w
![debugger](../img/8.png)
![debugger](../../img/8.png)
打断点调试发现src中带有w的密文信息
![debugger](../img/9.png)
![debugger](../../img/9.png)
继续跟踪栈,找到栈的头部信息, 发现传入的s中带有w的密文信息
![debugger](../img/10.png)
![debugger](../../img/10.png)
继续跟踪栈,发现是 w 存在 o 中
![debugger](../img/11.png)
![debugger](../../img/11.png)
最后找到 w 赋值的位置
![debugger](../img/12.png)
![debugger](../../img/12.png)
这里的 "\u0077" 是特征码,记录下来

View File

@ -10,11 +10,11 @@
t[$_CFABz(1399)]
![debugger](../img/14.png)
![debugger](../../img/14.png)
进入后分析代码流程
![debugger](../img/13.png)
![debugger](../../img/13.png)
"\u0024\u005f\u0043\u0043\u0047\u006a": function(e) {
var $_CHCBt = pfkKi.$_CD
@ -36,7 +36,7 @@
这个函数传入了1399 $_CFABz(1399),返回是字符串
![debugger](../img/15.png)
![debugger](../../img/15.png)
更值技巧:
@ -49,13 +49,13 @@
一点点调试,发现 $_CHCBt(56) 是 "encrypt" 加密的意思
![debugger](../img/16.png)
![debugger](../../img/16.png)
var t = new X()[$_CHCBt(56)](this[$_CHCBt(1374)](e));
查看 new X()看到一个__proto__中存在 setPublic
![debugger](../img/17.png)
![debugger](../../img/17.png)
这大概率就是 rsa 加密技术setPublic 是设置公钥的意思
@ -69,7 +69,7 @@
继续调试 this[$_CHCBt(1374),这里发现是 (Ot = rt(), 字符串是由 rt()生成
![debugger](../img/18.png)
![debugger](../../img/18.png)
在 console中调试 每次返回的结果都不相同
@ -88,7 +88,7 @@
进入方法继续跟踪
![debugger](../img/19.png)
![debugger](../../img/19.png)
开头下断点结束下断点return 位置有用到初始化变量的下断点。
@ -158,7 +158,7 @@
接下来需要解决 X()[$_CBEEc(342)] 函数 var e = new X()[$_CBEEc(342)](random_()); 怎么来的
![debugger](../img/20.png)
![debugger](../../img/20.png)
最后的条件运算代码
@ -252,7 +252,7 @@
调用
![debugger](../img/22.png)
![debugger](../../img/22.png)
window.ayf
ƒ E() {

View File

@ -8,7 +8,7 @@
找到 gt[$_CAGEe(209)](o) 中的 o 值在哪里
![debugger](../img/23.png)
![debugger](../../img/23.png)
这里的 o 值是
@ -114,7 +114,7 @@
这里判断这个 aa 值可能就是轨迹线了,进行跟踪栈
![debugger](../img/24.png)
![debugger](../../img/24.png)
找到 l 生成的代码
@ -139,15 +139,15 @@
https://api.geetest.com/get.php?is_next=true&type=slide3&gt=019924a82c70bb123aae90d483087f94&challenge=574174c46a05a80900ac2befab3868b3&lang=zh-cn&https=true&protocol=https%3A%2F%2F&offline=false&product=embed&api_server=api.geetest.com&isPC=true&autoReset=true&width=100%25&callback=geetest_1643275273597
![debugger](../img/25.png)
![debugger](../../img/25.png)
这里的 n["$_CIY"]["s"] 值,同样在上面的地址中得到
![debugger](../img/26.png)
![debugger](../../img/26.png)
并且验证是正确的
![debugger](../img/27.png)
![debugger](../../img/27.png)
最后的 n["$_CIBw"]["$_GEy"]() 值,大概是轨迹值
@ -221,15 +221,15 @@
最轨迹值的理解
![debugger](../img/28.png)
![debugger](../../img/28.png)
发现是平坦流线开头结尾断点发现这里面有一个t值非常像轨迹值
![debugger](../img/29.png)
![debugger](../../img/29.png)
打断点到最后一行,发现拼接好的轨迹
![debugger](../img/30.png)
![debugger](../../img/30.png)
r[$_BEGJJ(444)]($_BEGIH(33)) + $_BEGIH(407) + i[$_BEGIH(444)]($_BEGJJ(33)) + $_BEGIH(407) + o[$_BEGIH(444)]($_BEGIH(33));
@ -258,7 +258,7 @@
这个的 this[$_BEGJJ(361)] 就是轨迹数据,我通过传值的方式改造成
![debugger](../img/31.png)
![debugger](../../img/31.png)
js末尾进行全局函数引出
@ -266,7 +266,7 @@ js末尾进行全局函数引出
代码调试
![debugger](../img/32.png)
![debugger](../../img/32.png)
同样轨迹代码也是一样炮制
@ -274,7 +274,7 @@ js末尾进行全局函数引出
window.guiji_2 = W[$_CJET(261)]["\u0024\u005f\u0042\u0042\u0043\u0041"];
![debugger](../img/33.png)
![debugger](../../img/33.png)
走到这里 aa 的值就得到了,接下来拿到 l 值