본문 바로가기
Portswigger/XSS

Portswigger - Stored DOM XSS

by jh117jh 2023. 9. 22.
728x90

이번 문제는 stored DOM XSS로 댓글기능에서 취약점이 발생된다.

 

각 게시글마다 댓글 기능이 있고 댓글 작성 시 상대방에게 노출되게 된다.

iframe을 이용해 alert함수를 출력해보려했지만 실행되지 않는 걸 확인할 수 있다.

js코드를 확인해보니 replace함수로 인해 <>들이 html로 인코딩 되고 있다.

여기서 취약점이 발생하는데 replace함수는 문자열에서 변경하려는 문자열이 여러 번 반복될 경우,

첫 번째로 발견한 문자열만 치환해 준다.

 

예를 들어 사과, 바나나, 바나나에서 replace("바나나", "사과");를 하면 사과, 사과, 바나나로 한 번만 바꿔준다.

이를 이용하여 빈 태그(<>)를 먼저 입력해준뒤 iframe태그를 입력해 주면

iframe태그가 실행되며 alert함수가 호출된다.

728x90