incapsula_5s防御机制
Incapsula
定位请求位置
- 提交了加密参数后 , 得到token , 置入cookie后即可正常访问
- 接下来定位发包点 , 尝试断下XMLHttpRequest.prototype.send函数后无效
- 既然不是走的send函数 , 一时之间想不到其他方式 , 于是断下cookie重载
1 | Object.defineProperty(document,'cookie',{ |
- 该请求会将token置入cookie中的reese84键值 , 于是断到reese84即可
- 分析堆栈信息 , 追踪到此函数 , 由递归式函数调用流程 , 这种不好分析
- 继续往上翻
1 | _0x3b9cca[a0_0x4490('0x1d')]['updateToken'] = function() { |
- 这段代码命名来看可能是专门更新resse84的 , 下断 , 同时替换掉js执行文件
- 此时发现有请求url传入 , 于是重定义原型上的get方法 , 拦截下来
- 堆栈Promise第一层发现请求参数 , 基本确认此堆栈是没问题的
- 剩余部分补充环境与参数即可
环境部分
- 指纹环境定位后 , 不难找到 , 这些代码就是环境数组 , 包含canvas , webgl , font之类的环境 , 之后补充后 , 即可生成token
附带一份解混淆后的代码
[文件] https://oss.tisoz.com/ins.js
This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:http://www.tisoz.com/2022/08/21/incapsula_cdn_5s/