Python 爬虫进阶必备 | 某视频平台 sign 加密参数分析

举报
xianyuplus 发表于 2021/06/21 15:01:16 2021/06/21
【摘要】 今日网站Byb29tJTNGc3BtJTNEYTJoMGMuODE2NjYyMi5QaG9uZVNva3VVZ2NfMS5kdGl0bGUlMjZpZCUzRDgwOTE1MjElMDA=今天这个网站同样来自咸鱼的技术交流群,也是群友拿来交流的网站,因为风险较高,所以上面的密文解不出来的别费劲了。有需要可以翻下群聊的记录。抓包与定位这网站比较敏感所以我们快速过一下,不要研究深了,封号警告~先...

今日网站

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 完成数据的获取

图片

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。