本文仅供学习参考,又不懂的可以联系博主
- 目标链接:
aHR0cHM6Ly93d3cueXVucGlhbi5jb20vcHJvZHVjdC9jYXB0Y2hh
- 接口分析
-
captcha/get 验证码图片获取接口,GET请求,包含四个参数cb、i、k、captchaId
接口返回,如果是滑动验证码,则 bg 是背景图,front 是滑块图,还有个 token 值后续会用到
-
验证码轨迹验证接口,包含五个参数:cb、i、k、token、captchaId,其中 token 就是获取验证码接口返回的
- 加密参数分析
主要加密参数 cb、i、k、captchaId四个
- 参数1:captchaId;直接全局搜索
最后可以发现captchaId就是个定值,但是可能不通设备值不同。
可以看到所有参数都在这里了。
-
参数i和k都是跟a有关系的,可以看到a是通过加密函数得到的,入参如图所以。因此需要个个入参进行分析
入参1address:网站host
入参2distanceX:水平位移经过某种计算得到
入参3fp:往上可以看到是与指纹相关的,可以固定
入参4points:轨迹
入参5yp_riddler_id:uuid再经过特定格式化得到
跟进这个算法可以发现他就是RSA算法
-
上述解决了i和k,剩下只有参数cb了
cb值是r值,往上可以看到this.cbManager.preAdd()
跟进函数,可以看到就是做了一下随机数得到。