某验四代滑块参数学习
目标网址 aHR0cHMlM0EvL3d3dy5nZWV0ZXN0LmNvbS9hZGFwdGl2ZS1jYXB0Y2hhLWRlbW8=
选择的是这个
1.抓包
https://gcaptcha4.geetest.com/load?captcha_id=
获取验证码相关参数 captcha_id gct_path bg lot_number payload process_token pow_detail
slice
https://gcaptcha4.geetest.com/verify?captcha_id=
然后是根据上面获取到的参数进行拼接url,获取w参数(今天的主题)
和三代相比较,少了点击按钮的两个请求,主要做校验的地方就是 w 生成
2.开始寻找参数
点击verify链接,发现都是使用同一个js,估计和之前的差不多,点进去寻找w的unicode编码
"\u0077"
很幸运,找到了这个地方
简单分析一下,r 使我们需要的参数,r在第一个地方被赋值,所以在r被赋值的地方下个断点,刷新当前页面,点击按钮,弹出验证码,开始滑动
js断在了我们刚刚打的断点处
查看该函数传入的值是什么
简直不可相信,滑块的轨迹居然是明文,感觉还不如三代了,这应该就是生成的w的明文了吧,
a的话看不出来是啥,那就看看 d[$_BHHHD(58)]) 是一个什么样的函数
找到这个函数,在返回值return处下个断点,
打印返回的结果,发现o是bytes数组,a是一个长的16进制字符串,return返回的就是我们需要的w,看来就是o进行二次编码和a拼接到一起,形成了最后的w。我们的目标就是找到最开始的明文怎么变成o和a的,先看一下o怎么变成最后的样子吧。在o前面的函数打断点,开始调试。
发现这里返回的结果和前面一摸一样
把这段js抠出来,修改一下,就有了最后的编码部分,重新刷新,看看o和a是怎么来的。
打上断点,先查看输入a输入的是n, o输入的是e,n,在控制台打印一下这两个参数是啥
又看到了熟悉的明文和很短的字符串n ,n是四个e()函数生成的,这里就不多说了
进入到a生成的地方,继续打断点
发现o的值随着while的执行在增大,可以把这方法抠出来,然后补确实的函数,不涉及window相关参数。这个和三代都一样。
最开始生成这个参数的地方可以明显看到dopublic,大家可以用正则或者ast把这些unicode,和数组的地方都替换成正常的字符串,就很容易发现一些简单的地方,我这里按照三代的思路,就没有做过多的处理。这个地方是一个rsa,你可以选择去扣代码,或者去找密钥。a的生成就到这里了。
import rsa
from binascii import b2a_hex
e = '010001'
e = int(e, 16)
n = '00C1E3934D1614465B33053E7F48EE4EC87B14B95EF88947713D25EECBFF7E74C7977D02DC1D9451F79DD5D1C10C29ACB6A9B4D6FB7D0A0279B6719E1772565F09AF627715919221AEF91899CAE08C0D686D748B20A3603BE2318CA6BC2B59706592A9219D0BF05C9F65023A21D2330807252AE0066D59CEEFA5F2748EA80BAB81'
n = int(n, 16)
pub_key = rsa.PublicKey(e=e, n=n)
print(b2a_hex(rsa.encrypt(b"0fe524023c414bb5", pub_key)))
接下来是o数组的是生成,下断点
经过调试, s参数出现了一个熟悉的身影, iv
同时这个c对象有一个encryptBlock函数,可以去百度搜索一下
发现了可能是rsa aes 点进去前面的函数,发现了
翻译过就来就是就是aes常用的结果,key,iv (这里经过上一步调试iv是0000000000000000)填充模式等,a参数的生成就到这里了。这里的aes没有魔改,可以选择扣代码,或者自己写一个aes 。
w的生成就是这个样子,bytes_tohex(aes) + rsa
接下来是aes输入明文的相关参数分析,
第一个setleft是缺口距离,之后的track是滑块轨迹,passtime 消耗的时间,还有一些load请求返回的参数进行拼接,这里面有一个不定时切换的参数就是 svze 第二个红框,这个参数和值是有另外一个js文件返回的,他会相应的动态改变。em是一些鼠标操作的一些判定。
今天的分析就到这里了,最后附上一张图片。
测试100次,成功89次,可以使用了。希望大家点点关注,后续还会分享点选,和其他的一些验证码分析学习。
参考链接
https://www.52pojie.cn/thread-1162893-1-1.html