网址如下,使用base64解码获得
aHR0cHM6Ly9pLmZrdy5jb20vaW5kZXguanNw
滑块登录逆向最基本的步骤还是先确定两个请求,获得验证码请求和校验验证码请求,我们先来看获得验证码请求
通过反复错误登录后,触发滑动验证码,刷新验证码,拿到get请求,如下:
接着分析请求参数,由以下部分组成
跟栈进去查看参数来源,通过如下图片跟栈得知,参数都是固定参数,所以固定参数请求即可
接下来,看校验验证码的请求
通过观察发现,实际上就是多了一个vi参数,我们跟栈查看vi参数的由来
跟栈发现,vi在t的参数里面,而t是由加密生成,其中e是需要传的关键参数, 加密方法为ue,ve,其中e是由按下滑块y值和抬上滑块y值和偏移x值和滑块轨迹4个部分组成,这里所有值都可以通过自己写的算法生成,具体怎么写,要看网站校验严不严格,这里可以参考我之前的一篇文章,里面有滑块轨迹的简单生成方法yun片滑块登录逆向
这里,我们先查看一下e和用ve加密e的的区别,发现只是将传参的字典加入进去,那么ve加密可以不用扣了,我们来看下ue加密
这里ue的加密内部直接展示了vi的生成方法就是N加密函数,并且传入N的参数也是之前生成好的,没有变化,所以这里我们只要扣出N函数即可
function N(e) {
for (var t, n, i = String(e), o = 0, a = K, r = ""; i.charAt(0 | o) || (a = "=",
o % 1); r += a.charAt(63 & t >> 8 - o % 1 * 8)) {
if ((n = i.charCodeAt(o += .75)) > 255)
throw new L("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");
t = t << 8 | n
}
return r
}
我们这里直接扣下N,发现没有其他的加密函数依赖,这个加密就非常的简单,最后组装成python代码,这里我就不验证正确的拖动值了
拿到正确的返回拖动错误的响应