Stage #2 입장!
Stage #2의 과제는 alert(document.domain); 를 실행시키는 것이다.
Stage #1에서 했던 것처럼 Search창에 <script>alert(document.domain);</script> 를 입력해봤다.
지난 Stage에서처럼 사용자 입력이 화면에 나타나지는 않았다.
Search 후 Search form코드쪽의 변화가 생겼는지 확인해봤자.
form의 input 태그 value 속성에 사용자 입력이 그대로 노출되고 있는 것을 확인했다.
이때 입력을 닫는 태그로 시작하면 뒤에 오는 사용자 입력들이 value에 들어가지 않고, input 태그가 닫혀버린다.
따라서 닫는 태그 뒤로 script 태그를 삽입하면 script 태그가 실행 될 것이다.
그런데 value를 보면 "때문에 문자열이 열려 있다. > 앞에 "를 넣어서 이 문자열을 닫아야 한다.
따라서 페이로드는 다음과 같이 만들 수 있다.
"><script>alert(document.domain);</script><"
// 마지막에 여는 태그를 넣은 이유는 해당 라인의 맨 마지막에 input의 닫는 태그가 남아있기 때문
이제 Search창에 페이로드를 입력하자.
Challenge를 성공적으로 수행했다!
'Study > Web Hacking' 카테고리의 다른 글
[natas] Level 3 -> Level 4 (0) | 2021.04.01 |
---|---|
[natas] Level 2 -> Level 3 (0) | 2021.04.01 |
[XSS Challenge] Stage #1 (0) | 2021.03.27 |
[LOS] gremlin (0) | 2021.03.27 |
SQL Injection (0) | 2021.03.26 |