XSS challenges 1~6라업입니다.
1번

1번은 별다른 특징 없이 텍스트 박스에 <script>alert(document.domain);</script> 를 넣어주어 alert해주면 문제가 해결됩니다.

2번

2번은 html태그를 종료하고 그 이후에 script태그를 통해 alert를 띄워주면 됩니다. 태그를 끝내고 싶다면 ">를 통해 끝내주면 됩니다.
정답 : "><script>alert(document.domain);</script>

3번

3번부터는 소스코드를 보면서 풀어야하는 문제입니다.

위처럼 나를 선택할 수 있는 부분이 select태그를 통해 적혀있습니다. XSS challenges의 코드를 수정할 수 있기 때문에 나라 이름 하나를
<script>alert(document.domain);</script> 바꾼뒤 나라 선택에서 script태그 부분을 클릭하고 Search를 눌러주면 alert가 실행되어 문제가 해결됩니다.

4번

4번은 힌트처럼 숨겨진 입력 필드를 찾아내야합니다.

페이지 소스 코드를 쭉 둘러보면 위처럼 히든 속성의 input 영역이 있습니다. 이 부분의 속성을 hidden에서 text로 변경해주면 입력 필드가 페이지에 보이게 되고 이 부분에 "><script>alert(document.domain);</script> 를 입력한 뒤 Search버튼을 누르면 페이지 소스코드가 아래처럼 변한 뒤 alert가 실해됩니다.


5번

5번은 단순히 글자 수 제한이 걸린 2번문제와 같습니다. 소스코드를 보면 아래와 같습니다.

위 부분을 보면 최대 글자수가 15로 설정되어 있기 때문에 이 부분을 아래처럼 100으로 바궈준 뒤
"><script>alert(document.domain);</script> 를 적어서 넣어주면 문제가 해결됩니다.


6번

6번은 앞의 문제와 다르게 <>를 넣으면 필터링 됩니다. 그리고 힌트도 이벤트 핸들러를 사용하라고 되어 있습니다. 그래서 대상이 클릭하면 해당 값이나 속성을 실행해주는 onClick 핸들러를 통해 문제를 해결했습니다.
정답 : " onClick="alert(document.domain

'웹 > xss' 카테고리의 다른 글
XSS challenges 7,8,10,15 (0) | 2021.01.09 |
---|---|
XSS-game (0) | 2020.12.30 |