Python 爬虫进阶必备 | 某志愿平台 header 加密逻辑分析(一个MD5值 1000?)
今日网站
aHR0cHM6Ly93d3cueW91enkuY24vdHp5L3NlYXJjaC9jb2xsZWdlcy9jb2xsZWdlTGlzdA==
本篇主要是吐槽目前各种接单的窘迫现状,加密都是次要的
先说说我自己遇到的事,上面这个网站是我在某个交流群里看到的有偿求助。
经过细聊,需要采集的字段不少,求助方给的价格是 1k,并且表示采集稳定的话可以在价格上再加上一点。
花了一点时间看了下感觉可以接,结果收到的回复是这样的
emmm,现在内卷已经到了这样地步了吗?
本着吐槽的心思在群里聊了两句,收到群友如下的截图
唉~
加密分析
加密的字段在 Header 中
像这样比较特别的字段,一般是可以搜索出来的而且所在的请求都是 xhr 请求,也可以使用 xhr 分析
偷懒直接检索u-sign
在检索的文件中同步检索u-sing
,有八处相关的位置,可以全部断上然后向上滑动页面
可以断点的位置如下
这里是一个interceptors
“还好没有用 xhr 断点,有interceptors x分析堆栈很是麻烦
并且可以看到u-sign
的逻辑如下
u(e.url, e.data)
很明显e.url
就是请求的 api
e.data
就是请求提交的参数
现在就看在这个u
方法中做了什么操作了
单步调试可以看到下面这样的逻辑
中间的逻辑不用看,就是拼接的操作
最后对拼接的内容转小写的到下面的内容
{"keyword":"","provincenames":[],"naturetypes":[],"edulevel":"","categories":[],"features":[],"pageindex":7,"pagesize":20,"sort":7}&9sasji5owng41irkisvtjhlxhmrysrp1
这样的内容经过o
方法后得出一串 32 位的字符串。
对于像 16、32 这样固定长度的字符串,希望大家有一定的敏感度
直接泡一下加密站,可以得到下面的结果
与页面加密结果对比
所以这里的o
方法就是 md5 hash 算法
好了,以上就是本次文章的全部内容了,咱们下次再会~
- 点赞
- 收藏
- 关注作者
评论(0)