chrome debug和我一些挖洞的经验 (Adam)
字数 950 2025-08-10 08:28:42
Chrome Debug与Web渗透测试技巧详解
1. 通过替换响应包值绕过签名
原理分析
- 数据在加密前输入
- 被修改的数据未经过多次正则处理直接进入签名算法
- 若经过正则替换,通常仅适用于简单int类型替换
适用场景
- 主要适用于APP场景
- 当签名算法未对输入数据进行严格处理时
2. Chrome Debug技巧详解
基础调试方法
常用快捷键:
F9:单步执行(逐行)F10:跳过函数(不进入函数内部)F8:继续执行(放行断点)
三种调试方式:
- XHR断点(针对特定URI的数据包)
- 事件监听断点(如鼠标点击事件)
- 手动函数断点
调试流程建议
- 初学者建议使用
F9逐步跟踪数据流 - 熟悉后可直接定位关键代码行(如27-33行)
- 通过console打印变量类型和结果进行分析
Debug绕过签名实战应用
- 适用于存在复杂签名难以分离算法的情况
- 示例场景:
sum=addend2+addend1(字符串拼接而非数值相加) - 通过调试可修改为
A+B=AC而非正常的A+B=AB
高级技巧
- 使用XHR断点或关键字搜索直接定位关键JS代码
- 特别适用于大型项目(单个JS文件可能达十几MB)
3. Web渗透测试实用技巧
畸形数据包利用
- 漏洞产生关键在于代码与数据库的交互方式
- 不限于数据包形式(GET/POST/PUT/HTTP走私等)
- 只要路由正确,非正常逻辑也可能触发漏洞
数据格式改变技巧
- GET → POST
- POST → JSON(可能触发fastjson反序列化)
- POST → XML
- POST → multipart(可能发现SQL注入)
关键点: 修改前后服务器响应相同但存在漏洞
参数污染技巧
- 在关键字段前添加空字段
- 无限扩充已有字段内容
- 创建大量无效字段
- 应用场景:绕过上传类型限制等
JavaScript相关技巧
- JS是漏洞最多的地方之一
- Vue项目可利用.map文件还原静态逻辑文件
操作步骤:
- 检查是否存在.js.map文件(如
app.js.map) - 使用shuji工具反编译(需安装Node.js)
npm install -g shuji shuji app.js.map -o desfile - 用VSCode查看生成的desfile文件
4. 参考资源
- Chrome Debug参考文章:Chrome调试技巧
- shuji工具:npmjs shuji