注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路
本文的验证码网址如下,使用base64解码获得
aHR0cHM6Ly9jcHF1ZXJ5LmNwb25saW5lLmNuaXBhLmdvdi5jbi9jaGluZXNlcGF0ZW50L2luZGV4
从网络监听面板中查看接口数据后,可以看到参数没有加密,只有在请求头中有一个标准的JWT认证
而这个JWT token肯定是来自于登录的,同时这个token还被赋值在了localstorage中
当然,单纯携带这个token请求第一次会出现412的响应,这个是标准的瑞数加密,关于解决412响应的问题,可以参考这篇博客某专利网瑞数逆向爬取
我们直接退出登录,回到登录界面,登录界面有一个滑块校验,如图
而滑块的校验请求只需要传入x,y和该滑块图的token即可
传的参数也没有加密,那么只需要破解出缺口位置即可,经过对比了几次缺口图和背景图后,发现使用最简单的模板匹配即可做到,部分代码如下
获得缺口位置,通过校验后,查看登录参数,发现在传入密码位置有一个加密
在跟栈之后,发现是一个标准的堆成加密
那么直接将代码扣下来运行即可,登录成功之后,拿到回调参数
有一个redirectURL,直接请求该URL后,会得到带code的url
我们将code取出来,去请求用户认证的接口,那么就能得到用户的JWT token了
最后将代码封装,成功拿到查询的数据