[STUDY] Web - javascript prototype pollution
2022. 7. 18. 15:47ㆍ코딩/공부 [STUDY]
반응형
javascript는 객체 지향형 프로그래밍 언어이다.
하지만 특이하게도 다른 객체지향형 프로그래밍 언어들과는 다르게 상속이 가능한 class가 존재하지 않는다.
이를 보완하기 위해 js는 prototype이란게 존재한다.
따라서 prototype으로 상속이 가능하다.
var a = {
r1: '1'
}
var b = {
r2: '2'
}
b.__proto__ = a;
b.r1 // '1'
b에서 a의 r1에 접근할 수 있다.
b는 자식 객체가 되는것이고 a는 부모 객체가 되는것이다.
이러한 원리를 이용하여
const dotProp = require("dot-prop")
const object = {};
console.log("Before " + object.b); //Undefined
dotProp.set(object, '__proto__.b', true);
console.log("After " + {}.b); //true
와 같은 프로토타입 폴루션이 가능하다.
반응형
'코딩 > 공부 [STUDY]' 카테고리의 다른 글
[STUDY] 어셈블리어 - 5 (0) | 2023.02.28 |
---|---|
[STUDY] 어셈블리어 - 4 (0) | 2023.02.25 |
[STUDY] 어셈블리어 - 3 (rip,rsp,rbp,스택프레임) (1) | 2023.02.23 |
[STUDY] 어셈블리어 - 2 (1) | 2023.02.23 |
[STUDY] 어셈블리어 - 1 (0) | 2023.02.22 |