1 什么叫做web逆向
数据加密
- 数据解密
- 浏览器当中明文
- 解密的 JS 板块
请求头参数加密
- 获取生成的方式
- 服务器也不知道具体是什么东西?
- 原文内容
- 被加旁之前的数据
- 爬虫 模仿服务器的加密方式
- 表单加密
- 参数加密
- cookie如密
- 返回的数据不对?
2 web逆向技巧
2.1 定位技巧
接口定位
- 字体加密
- Unicode
- 数据加密
JS逆向
主要的加/解密方法或函数
2.2 JS语法
2.2.1 混淆js
2.2.2 无混滑js
关键字搜索
解密搜decrypt;加密搜 encrypt(只适用于方法)。
ajax渲染 JSON.parse:
- JSON.parse(函数或方法(密文))
- a = 函数或方法(密文)JSON.parse(a)
接口自带的关键字,方法或者函数(密文数据)
XHR 断点
路径断点(搜索)
跟栈
hook
eval加密
2.3 涉及的内容
- 对称加密算法(DES AES)
- 非对称加克算法
- 消息摘要算法
- MD5、SHAhm
- 不能被破解密
- 魔改算法
- 数字签名算法
2.4 扣 JS
3 实战
定位到 js 文件后,右键进入源码:
这就看到具体源码了:
鼠标放在 decode 方法上,跳转过去
这就到了其它文件中的方法定义:
将其改造为函数:
注意到第二行的 f 是啥呢?没有值,回到控制台源码:
打印其值:
来开始生成爬虫代码,使用工具帮我们生成爬虫代码:
要在Python中执行JavaScript代码,可以使用execjs库。execjs是一个通用的JavaScript执行器,它可以在Python中运行JavaScript代码。安装execjs:
pip install PyExecJS
执行结果:
技巧
有时我们刷新页面出来东西太多,干扰二次定位请求,可以切换页面里的标签,每次就不会重新渲染太多。如从最近热门切到最近更新:
仅出现几个元素,轻松看出使用了加密数据,返回字典也无意义
从网络-启动器进入源文件:
搜索 json.parse,找到这样代码段。
调试技巧,不一定要刷新界面,可以下滑当前页面,触发渲染执行 js 代码。