记录一次爬虫破解参数过程

网站:https://www.jidaihome.com

入口:助手个人中心 -- https://www.jidaihome.com/officer/#/login

输入账号。输入密码

打开谷歌浏览器F12

再点击登陆

NetWork里看见请求:

然后用代码模拟请求,尝试有哪些请求参数是必须要的。

会发现:

Headers里:有个 Authorization

Request payload 下: 很长一堆字符串

并且:这两个参数必须同时对应才会返回正确结果

相关内容:

python爬虫如何POST request payload形式的请求 --> data=json.dumps(dict)

python爬虫如何POST FormData形式的请求data=dict

参考:https://blog.csdn.net/zwq912318834/article/details/79930423

 Authorization:访问权限 ?  

破解Authorization

全局搜索Authorization 关键字:

发现只有一个地方有,点击打开此技术文件,点击{} 格式化一下,在此js文件里搜索 Authorization 发现

发现可疑点,在此处打断点,重新点击下登录按钮,进入js调试过程,此时选中红色小方框,会显示出结果

发现和此结果和 network里headers里的Authorization值一样,所以Authorization值应该就是此方法返回的

然后鼠标放到选定的红色小方框内

发现弹出来一个方框,里边有个函数,点击进去进入到这个函数(也可以点击

进入此函数)

进入此函数后发现:

同样方法,选中绿色方框内容,会显示一个值,发现和network里的值一样,那就是这个函数最终生成并返回的值就是Authorization值。

仔细看会发现需要传入一个参数t,也就是上一步传入的参数r,不确定的话可以,选中t,看t值,选中r,发现两个值一样。

接下来需要解析 r,发现

r即是此函数生成,点击进去

发现就是下边这个函数生成的,需要传入参数t,t是固定值16,至此,最终函数所需要的参数r已经生成。

最终生成 Authorization 参数。

破解request payload

发现并没有关键字可以让我们搜索,但是却发现

这两个的值看起来比较像,那么此时可以测试一波,用代码模拟请求,传入同一次调试时生成的Authorization值和i值,会发现可以正确响应结果,那么request payload的内容就是i值。接下来就解析此i值怎么生成。

参考:AES加密

https://mp.csdn.net/postedit/97019532

https://blog.csdn.net/chouzhou9701/article/details/89339625

 

最后:

还有个小问题:password其实是加密过的,可以先大概猜测下,因为它长度32为,猜测为MD5加密,接下来还用以上调试方法,继续调试此password怎么生成就欧克了,在此,就不多说了。

 

至此,全部参数就解析出来了,组合一下,写进代码就ok了

 

附:js调试工具

链接:https://pan.baidu.com/s/1yPwGfgR7TcbeYpgmNbHqgg 
提取码:0nwn 
链接:https://pan.baidu.com/s/1AAC6Li92xUd8cMDjARrmbQ 
提取码:xj3f 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-07-24 10:35  殇夜00  阅读(26)  评论(0)    收藏  举报