简单复现原型链污染

原型链污染是一种安全漏洞,通过修改JavaScript对象的原型链,可以修改对象的行为或者访问未授权的属性和方法,利用它来执行恶意代码或者获取未授权的访问权限:

javascript 复制代码
// 创建一个被污染的对象
var aa = {}

// 创建一个用于污染原型链的恶意对象
var bb = {
  pollute: function() {
    // 修改Object原型上的属性,影响到所有对象
    Object.prototype.polluted = true
  }
}

// 污染原型链
aa.__proto__ = bb;

// 调用恶意对象的方法,污染原型链
aa.pollute()

console.log({}.polluted)

首先创建一个空对象 aa,然后创建了另一个对象 bb,并将其设置为 aa 对象的原型。然后,我们调用 aa.pollute() 方法,该方法修改了 Object 原型上的属性 polluted,从而影响到所有JavaScript对象

相关推荐
嘉里蓝海2 小时前
我在嘉顺达蓝海的安全日常
安全
2301_780789663 小时前
渗透测试真的能发现系统漏洞吗
服务器·网络·安全·web安全·网络安全
嘉里蓝海3 小时前
我在嘉顺达蓝海的安全坚守
安全
你的人类朋友4 小时前
认识一下Bcrypt哈希算法
后端·安全·程序员
Coovally AI模型快速验证8 小时前
基于YOLO集成模型的无人机多光谱风电部件缺陷检测
人工智能·安全·yolo·目标跟踪·无人机
夏天的风9910 小时前
本地部署PLM系统,如何用 ZeroNews 实现远程访问?
安全·远程工作
wanhengidc10 小时前
高性价比云手机挑选指南
运维·网络·安全·游戏·智能手机
拉法豆粉13 小时前
三方软件测试可移植性测试哪些内容
数据库·安全
午夜游鱼14 小时前
Go 泛型实战:一行代码封装 sync.Pool,性能与安全兼得
开发语言·安全·golang
半桔16 小时前
【Linux手册】信号量与建造者模式:以 PV 操作保证并发安全,分步组装构建复杂对象
linux·运维·安全·建造者模式