今日网站
Byb29tJTNGc3BtJTNEYTJoMGMuODE2NjYyMi5QaG9uZVNva3VVZ2NfMS5kdGl0bGUlMjZpZCUzRDgwOTE1MjElMDA=
今天这个网站同样来自咸鱼的 技术交流群 ,也是群友拿来交流的网站,因为风险较高,所以上面的密文解不出来的别费劲了。
有需要可以翻下群聊的记录。
抓包与定位
这网站比较敏感所以我们快速过一下,不要研究深了,封号警告~
先看下需要分析的请求
这个请求之后返回了一个 json 数据,前端程序解析这个 json 展示在页面上
所以进一步来看下他的请求参数
可以看到位置的参数只有 sign 这一个,其他的参数基本都能猜出大概的意思
所以直接检索一下参数名(不是 xhr 请求用不上 xhr 断点)
检索的结果很少,只有两个,可以通过请求的链接快速定位这个参数所在的文件位置
通过在文件中再次检索,可以快速定位到 sign 的位置
加密分析
这个逻辑就非常简单了,快速过一下这个逻辑
第一步、获取到提交参数中的 appkey 可以写死,并做一个简单的运算
第二步、将第一步的 g 和当前的时间戳、token还有提交的参数中的 data 部分做一个拼接后传入了 h()
这里比较迷惑性的是 token ,这个 token 试过是由不同访问的会话生成一个固定的值带入 cookie 当中的,这一点可以直接在会话中检索,和 cookie 中的值一样
那么这个 cookie 的值是怎么来的呢?
通过检索是可以看到是由请求直接写入的
这里就需要再次去模拟这个请求然后拿到服务器返回的 cookie ,之后再解析出这个 cookie 中的 _m_h5_tk 再带入到上面的 h() 参数中
第三、获取 cookie 的这个请求可以看到也带有 sign ,这个时候就陷入懵逼的情况了,不知道的还以为是无限套娃呢?
不过经过使用 postman 测试发现,这个获取 cookie 请求的 sign 写死也是可以获取到 set-cookie 的,所以我们就直接写死 sign 就行了
第四、完成第三步 假的sign 之后,我们就可以获取到 set-cookie 中的 _m_h5_tk 也就是 token
第五、完成第四步之后, h() 传入的参数就可以完成拼接了,这里就需要分析 h() 完成了什么逻辑
打上断点,可以看到 h() 是个比较简单的 js 也没什么混淆,可以直接扣取代码,也可以直接参考咸鱼分析的结果,这个 h 就是 MD5 算法,直接用 Python 实现即可
第六、使用 Python 完成数据的获取
Love&Share
[ 完 ]
查看更多关于Python 爬虫进阶必备 | 某视频平台 sign 加密参数分析的详细内容...