一文看懂 JSON.parse 背后的安全隐患与黑盒利用方法
一段简单的懂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
防御建议
严格输入控制 + 合理合并方式 + 安全库使用
相关文章

黑客从加密货币做市商 Wintermute 窃取了 1.6 亿美元
加密货币做市商 Wintermute 周二宣布,黑客从其去中心化金融 (DeFi) 业务中窃取了 1.6 亿美元。这家总部位于伦敦的算法交易公司成立于 2017 年,在集中式和分散式加密货币交易平台上2025-12-07
一些小伙伴在使用edge浏览器的时候,为了可以方便直接在电脑桌面上通过edge搜索进行快速的浏览自己的网页内容,于是就会想要将edge浏览器中的edge栏功能启用,但是发现edge浏览器更新之后,找不2025-12-07
解决电脑更新iOS系统发生错误的方法(详解iOS系统更新过程中可能遇到的各种错误及解决方案)
随着技术的发展,iOS系统也在不断更新迭代,为了获得更好的使用体验,很多用户都会选择通过电脑进行iOS系统的更新。然而,在这个过程中,有时候会出现各种错误提示,给用户带来困扰。本文将针对电脑更新iOS2025-12-07
电脑重启自检磁盘错误的原因及解决方法(了解磁盘错误的常见原因和可行解决方案)
电脑在重启过程中自检磁盘错误是一个很常见的问题。这种情况通常会导致电脑启动过程变慢,甚至无法正常启动。本文将详细介绍导致磁盘错误的原因,并提供一些可行的解决方法,以帮助读者解决这个问题。标题和1.硬件2025-12-07
工控攻击!黑客组织GhostSec 称入侵以色列55 家Berghof PLC
“巴以冲突”在网络上依然硝烟弥漫。当地时间9月12日消息,一个名为GhostSec的黑客组织声称入侵了以色列55台Berghof可编程逻辑控制器PLC)。该网络攻击行为被视为“解放巴勒斯坦”运动的组成2025-12-07
win10更新1903连不上wifi是一个非常郁闷的问题,系统能够正常使用,但是网络和wifi连不上,解决方法其实非常简单,只是系统自带的网络检测功能没有开启。win10更新1903连不上wifi教程2025-12-07

最新评论