(注:如有侵权,请联系作者删除)
最近在研究阿里滑块的逆向,这里以淘宝网为例。
当我们访问接口速度过快时就会弹出滑块要求验证
这是接口位置
我们可以看到这个接口总共有5个参数slidedata、x5secdata、ppt、landscape、ts、v值组成,其中ts为当前时间戳,其他几个参数基本上可以固定,可以由其他接口返回,主要看的是slidedata这个参数
slidedata又是一个JSON转换成字符串,里面有以下几个参数
其中a、t、x5secdata都可以在页面上找出来p值我们可以固定,也可以手动生成
最后n值的生成是最关键的,也是最难的部分。主js文件https://g.alicdn.com/AWSC/fireyejs/1.227.0/fireyejs.js,其中关注function i(o, p, v, l, u, g)这个函数,我们用户在页面上点击、滑动、松开鼠标的Event等都会被传入i函数进行计算,最后通过i(40, e)计算得出结果。
所以鼠标轨迹list要构建好,通过addEventListener将鼠标事件导出,for循环传入鼠标事件参数。
只要你补环境到位了,生成的227长度也差不多,最后再构建请求返回成功得到x5sec值,就大功告成!
最后贴一张效果图: