网址
aHR0cHM6Ly93d3cueWR4Zi5nb3YuY24vTmV3cy9zaG93TGlzdC80L3BhZ2VfMS5odG1s
前言
工作中遇到的某websocket反爬,比混淆网站还恶心,看到也有其他人在问这个
之前看到其他大佬也弄过这个websocket反爬,但是只是说了下加解密,个人觉得最重要的还是还原最终的html,所以来分享一下过程
目标
- 过无限debugger
session
请求加解密websocket
通信- 消息结构解析还原成
html
- 使用Python还原算法
分析过程
无限debugger
- 首先打开F12,刷新页面发现会被断住
- 右键js文件替换内容
- 看堆栈往上先随便点几个看看
- 可以直接找到通过正则检测代码格式化的检测点,这里是个自执行函数,我们需要把整个函数干掉,然后保存刷新页面
- 发现还是会被断住,老套路直接看堆栈往上找检测点
- 可以清楚看到定时器在不断检测,直接干掉就行了
- 刷新页面,到此为止无限debugger就过了,这个站的检测还是很简单的对吧
session请求加解密
- XHR
- Payload
- Response
Payload加密
直接看xhr的堆栈
这个比较简单我就不废话了,看截图就行
跟进去函数后可以看到用到了iv,iv生成就在上面一个函数
往下继续跟,进入这个解密函数,这个解密函数计算iv的时候也用到这个函数
直接跟到下图这个位置可以看到是个AES加密,差不多就结束了,这个是个标准AES-128-CBC
,直接引库就行了
Response解密
跟加密算法一致,用同一个key解密就行,这里就不再写具体流程了
Python实现
- AES-128-CBC
代码抄了晨哥的
标签:websocket,函数,反爬,加解密,SYNC,指令,Websocket,html From: https://www.cnblogs.com/pigke/p/18682640