快手登录滑块验证(一)
很久之前发在知乎的文章,博客好久没更新,转过来水个文
快手登录
快手的接口很简单,带着登录后的cookie去请求/pass/kuaishou/login/passToken这个接口,response中的web_ph、web_st就是接口需要的cookie。ok,让我们看看怎么登录。
打开fiddler,无痕打开快手,输入手机号点获取验证码,发现了以下带有手机号的post请求:

看这个接口名字就知道是请求发送验证码的,可以看到cookie带了个did,搜一下did,发现请求首页时候response会返回带有did的cookie:

输入验证码点登录,发现/pass/kuaishou/login/mobileCode就是登录请求:

写个登录demo(注意header referer):

运行一下:

OK了
验证码逆向
拿到cookie只是第一步,后续的请求经常会出现滑块验证。
追/rest/zt/captcha/sliding/verify这条请求的栈,发现生成加密的位置:





打个断点滑一下滑块:

再调试下,确认就是这一步加密的验证码:

还原参数:



r为captchaSession、浏览器指纹、滑动轨迹做了一个url编码,再简写就是:

到这儿已经很明显了,AES加密。 但是key(即为e[0])和iv(即为e[1])都不是16/32位的?尝试直接base64解密:

还是不对劲,只能继续追parse和toString
追parse:





追toString:




到这儿就ok了,把上面的js扣下来。写个demo测试下:

![]()
![]()
ok了。
本文是原创文章,采用 CC 4.0 协议,完整转载请注明来自 http://www.1997.pro/
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果