原型污染
定义
在一个应用中,如果攻击者控制并修改了一个对象的原型,那么将可以影响所有和这个对象来自同一个类、父祖类的对象。这种攻击方式就是原型污染。
示例
let foo = {bar: 1}
console.log(foo.bar) //输出1
foo.__proto__.bar = 2 //更改foo的原型,即Object
let zoo = {}
console.log(zoo.bar) //输出2
在一个应用中,如果攻击者控制并修改了一个对象的原型,那么将可以影响所有和这个对象来自同一个类、父祖类的对象。这种攻击方式就是原型污染。
let foo = {bar: 1}
console.log(foo.bar) //输出1
foo.__proto__.bar = 2 //更改foo的原型,即Object
let zoo = {}
console.log(zoo.bar) //输出2