快手/快手小店滑块验证码逆向分析

url = 'https://captcha.zt.kuaishou.com/rest/zt/captcha/sliding/kSecretApiVerify'

开始JS逆向

c.ai(“0x31”) 的值是验证接口中,加密前的verifyParam。

c.a[i(“0x31”)] 等同于 urlencode。

可以在控制台输出 r 。

经过分析,这几个参数含义如下:

captchaSn 滑块验证码信息
bgPicWidth 原背景图 Width
bgPicHeight 原背景图 Height
cutPicWidth 原滑块图 Width
cutPicHeight 原滑块图 Height
captchaExtraParam 浏览器指纹信息
gpuInfo 浏览器GPU信息
trajectory 滑动轨迹
relativeX 滑块X轴拖动距离
relativeY 滑块Y轴高度
captchaSn 、bgPicWidth、bgPicHeight、cutPicWidth、cutPicHeight 是根据 captchaSession 获取的验证码配置信息。
获取接口是 /rest/zt/captcha/sliding/config

captchaExtraParam 、gpuInfo 可以设为定值

relativeY 在配置信息中有,relativeX 需要自行计算。

trajectory 我们处理时需要由拖动距离生成。

trajectory
有行为检测,代码生成的匀速轨迹并不能通过校验,手动去复制吧。

verifyParam
kSecretApiVerify接口提交的参数是加密的,也就是说需要对明文的verifyParam加密。

断点后往下调试

先加密 o = l(a) ,再 d(x) , 不过需要注意 d(o) 是Promise 类型
l 比较简单,d 是一段加密。

想知道具体就再点进去

点进去,发现加密处

要JS 源码:QQ:165554127

posted @ 2022-09-06 13:25  莫贞俊晗  阅读(1036)  评论(0编辑  收藏  举报