본문 바로가기

Wargame(hacking)/PortSwigger

Lab : DOM XSS via an alternative prototype pollution vector

Write UP

 

이전 Lab과 같이 Prototype Pollution의 근원지를 찾기 위해 URL 쿼리 스트링을 사용해 속성 주입을 시도했다. 지난번과는 다르게 괄호 표기법으로 접근할 수는 없었고, 점 표기법을 활용하였다. 

 

그림 1

 

Object.prototype 명령을 통해 prototype 속성 주입에 성공함을 확인할 수 있었다. 

 

그림 2

 

js 소스코드 상에 eval 함수가 존재하였고, 이는 XSS 취약할 수 있다. 심지어 manager.sequence는 정의되지 않았다. 

이를 활용해 위 그림 2와 같이 alert(1)- 을 Prototype Pollution을 통해 주입하였고, alert()에 성공하였다. 

 

그림 3

 

(그림 3) 디버깅 도중 manager 객체에 대한 속성을 확인해 보았다.