前言
内涵段子,皮皮虾,还有各种聚合搞笑内容的网站在短视频平台还没有
的时候应该是很多人用来消磨时光的工具吧。
段友,皮友,右友,尽管称呼不同,但皆是在生活中苦中作乐的人。
即使身处人生低谷,也不能失去对人生的希望。--《肖申克的救赎》
本篇文章仅群友供交流学习,侵权删(满满的求生欲)
本次样本:aHR0cHM6Ly93d3cuaXp1aXlvdS5jb20v
流程
填充页面数据的接口,红框两个是必须的。
首先先看cookie吧,因为一般cookie都是后端返回的,而不是js生成的。
cookie
果然一搜索,就是接口返回的
但是发现这个接口请求还带了一个加密参数,这个加密参数全局一搜没有搜到,看来是js生成的了。
老样子,对这个接口打个xhr断点,清空cookie。
一直向上跟栈,知道异步执行之后的对战,我们发现e已经有了这个did参数,并且还是上一步传入进来的。
直接 ctrl+F 全局搜索visitorId就可以直接搜到,但是对字符串进行混淆的就搜不到了,老老实实跟堆栈吧。
观察发现其实这里相当于进行了同样的操作5次,我们在c这个方法打个断点,看看是第几次的异步执行生成了这个did参数。
发现到第5次才出现,那么我们就到第四次时开始单步执行进入异步函数看看他做了啥。
一直单步执行,就到这里了,直接搜索也能找到这里,进入看看。
这里做的是啥呢,就是收集了一些浏览器环境,转为字符串拼接,最后md5,但是是魔改过的,也就是这个_0x4cb42c进行的加密,加密后得到了did。
但是众所周知md5是不可逆的加密方式,所以随便改一个值,后端应该也是无法校验真伪的,比如我把deviceMemory的value由8改为7,生成的did就会不同,这里加密方法我就不研究了,可以抠js代码。
Authorization
这个就比较好找了,没有异步,对数据返回的接口rec打个xhr断点,向上找栈,一下就找到了。
timestamp 10位时间戳
nonceStr 对时间戳进行md5加密,无魔改
sign 把did,时间戳,nonceStr和userAgent进行拼接后进行sha256加密,无魔改。
后记
星球的话关注我,点击右下角联系作者就有个知识星球了,里面有很多大佬
加群的话可以关注我加我微信,拉你进群。
公众号推荐
END 感谢大家观看
扫码关注我
图文:爬虫逆向之旅
排版:爬虫逆向之旅
原文始发于微信公众号(逆向与爬虫的故事):某右逆向
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论