저번 2020/08/16 - [WarGame/XSS GAME] - XSS GAME LEVEL 1에 이어서 LEVEL2를 풀어보겠다.
Mission Description
Web applications often keep user data in server-side and, increasingly, client-side databases and later display it to users. No matter where such user-controlled data comes from, it should be handled carefully.
This level shows how easily XSS bugs can be introduced in complex apps.
우선 LEVEL2를 들어가면 게시판 역할을 하는 페이지가 보인다.
일단 글을 예시로 하나를 써보자.
글은 잘 작성이 되는 것을 볼 수가 있다.
그러면 한번 xss를 시도를해보자.
script태그를 이용해서 alert를 호출을 해보겠다.
아래 사진을 보면 script태그를 사용을 했는데도 변화가 없는 것을 볼 수 있다.
개발자가 xss에 위험을 느껴서 script태그를 자체 필터링을 한 것이다.
하지만 script태그를 이용을 하지 않고도 다른 태그들을 이용해서 xss를 시도를 할 수 있다.
여러가지 태그들 중에서 img태그를 이용해서 xss를 시도하겠다.
img태그에는 여러가지 속성들이 있는데
그중에서도 onerror라는 속성이 있다.
onerror속성은 img의 경로에 그 파일이 없을 경우에
실행이 되는 속성이다.
이를 통해서 xss를 시도를 할 수 있다.
img의 경로에 존재하지 않는 경로를 기입을 하면
onerror를 통해서 alert()를 사용한다는 그런 방법이다.
xss가 실행이 된 것을 볼 수 있다.
BEHIND
아쉬운 점이 있다.
여러가지 다른 태그들을 이용해서라도 alert를 띄우면 통과를 시켜주면 좋을 것 같다.
hint 페이지에 onerror를 사용하라는 언급이 있는데,
만약 hint를 보지않고 다른 태그들을 이용해서
clear를 하려고 하면은 마음대로 clear가 되지 않는 문제가 생길 것이다..
작성자도 처음에는 iframe 태그를 이용해서 alert()를 띄우기는 했지만,
통과가 안되서 쩔쩔맸다..
통과 안되는 모습..
'WarGame > XSS GAME' 카테고리의 다른 글
XSS GAME LEVEL 6 (0) | 2020.09.14 |
---|---|
XSS GAME LEVEL 5 (0) | 2020.09.14 |
XSS GAME LEVEL 4 (0) | 2020.09.06 |
XSS GAME LEVEL 3 (0) | 2020.09.06 |
XSS GAME LEVEL 1 (0) | 2020.08.16 |