一段简单的懂J的安 JSON 解析代码,可能是背后一次严重的原型污染、提权绕过、全隐服务瘫痪的患黑盒利开始。本文深入解析 JSON.parse() 的用方安全风险 、攻击方式,香港云服务器懂J的安并讲解如何在黑盒测试中通过数据包行为反推出后台逻辑,背后为你打开攻防对抗中的全隐新视角 。
一、患黑盒利JSON.parse 是用方什么 ?它本身安全吗 ?JSON.parse() 是 JavaScript 原生函数 ,用于将字符串解析为 JavaScript 对象: 复制const obj = JSON.parse({ "user":"admin"});1.它本身不会执行代码 、懂J的安不会像 Java 反序列化一样触发远程类加载或代码执行 。亿华云背后 但它存在安全隐患的全隐传播点 ,关键在于:你如何使用解析后的患黑盒利对象 ! 二、用方安全风险与利用场景风险一:原型链污染(Prototype Pollution)关键字段如 __proto__ / constructor / prototype 被写入对象中 ,通过合并操作传播到所有对象。 利用前提: 后端用 Object.assign 、lodash.merge 等合并用户传参与默认配置 。没有进行关键字段过滤。典型 payload : 复制{ "__proto__": { "admin": true } }1.2.3.4.5.后果示例 : 复制const config = Object.assign({ }, defaultConfig, JSON.parse(userInput)); // 之后任何 new Object() 都可能带上 admin: true1.2.常见数据包格式 : 复制POST /api/profile HTTP/1.1 Host: target.example.com Content-Type: application/json Content-Length: 70 { "__proto__": { "isAdmin": true } }1.2.3.4.5.6.7.8.9.10.Burp 分析方法: 步骤 观察点 1. 请求发出 目标接口是免费模板否处理 JSON 格式数据 2. 重复访问其他接口 是否行为改变(权限 / 响应内容) 3. Proxy + Repeater 逐步调整 payload ,如 ["__proto__"] 4. 添加测试断点 使用 Logger++ 插件记录响应中的 isAdmin 等字段是否被反映 如果行为生效,将获得Admin权限 ,页面菜单等权限将有明显改变。 风险二:拒绝服务攻击(Billion Laughs / Deep Nesting DoS) 复制{ "a":{ "a":{ "a":{ "a":{ "a":{ "a":{ "a":{ "a":{ "a":{ "a":{ }}}}}}}}}} }1.2.3. 重复嵌套结构触发 CPU 暴涨或内存崩溃。常用于前期探测 、WAF 绕过测试。风险三:DOM-Based XSS(前端使用不当)如果前端用 innerHTML 或 document.write 直接渲染 JSON 解析的高防服务器字段 : 复制const data = JSON.parse(payload); document.body.innerHTML = data.content;1.2.攻击者构造 : 复制{ "content": "<img src=x onerror=alert(1)>"}1.三、数据包特征分析我们如何**在黑盒测试中识别系统内部使用了 JSON.parse()** ?以下是典型思路 : 特征:API 接收 JSON 格式 body 复制POST /api/config HTTP/1.1 Content-Type: application/json { "username":"admin"}1.2.3.4.判断方式分析 : 线索 推理 是否支持嵌套对象 ? 是 → 可能直接 JSON.parse 解析并用于配置逻辑 修改特殊键如 __proto__ 有无响应变化 ? 有 → 极有可能未进行关键字段过滤 是否响应体中出现原样字段回显 ? 是 → 可能存在配置渲染逻辑 是否异常响应(500 / timeout) ? 是 → 考虑 DoS 测试有效 组合测试: 提交 __proto__ → 检查是否持久化提交 constructor.prototype.polluted = true → 检查全局污染迹象利用 ["__proto__"] 数组索引写入,绕过某些黑名单使用深嵌套 JSON → 检测解析限制四 、建站模板防御建议安全措施 描述 输入校验 禁止解析中出现 __proto__ 、constructor 等关键字段 使用深拷贝库 避免使用 Object.assign ,推荐 structuredClone() 或安全库 限制嵌套层级 使用库如 json-parse-better-errors、ajv 等做层级与结构校验 WAF 规则增强 对 JSON payload 关键字(如 "__proto__")做识别和阻断 最小权限原则 后端合并配置时应隔离用户与系统配置空间,避免全局污染 五 、总结项目 说明 安全点 JSON.parse本身安全 风险点 使用方式不安全:合并配置、渲染 HTML 、未校验字段 探测方式 看输入格式、嵌套特征 、行为响应变化 利用策略 利用字段污染 → 影响权限逻辑 / 全局变量 / DoS 防御建议 严格输入控制 + 合理合并方式 + 安全库使用 |
2025 年 CISO 最青睐的五大安全框架了解 JWT、OAuth 和 Bearer 令牌K8s曝9.8分漏洞,黑客可获得Root访问权限深信服秋季新品重磅发布:安全GPT4.0数据安全大模型与分布式存储EDS新版本520,助力数字化更简单、更安全微软可信签名服务遭滥用,恶意软件借机获得合法签名网络安全技术:防火墙、VPN、入侵检测基础Windows KDC 曝代理 RCE 漏洞:攻击者可远程控制服务器微软又全球宕机11小时,多项核心服务无法使用三大漏洞遭利用!Mitel与Oracle产品紧急警示黑客滥用 Cloudflare 隧道基础设施传播多种远程访问木马b2b信息平台企业服务器亿华云香港物理机源码库网站建设云服务器