Stage #12에 입장!
input에 아무 payload나 작성하고 소스코드를 확인해봤다.
소스코드를 확인해보니 <, >, "등 특수문자를 필터링하고 있는 것을 알아냈다.
힌트를 보니 역시 대부분의 특수분자를 필터링하고 있었다.
특수문자 필터링을 우회할 방법을 찾아보다가 Character Escape Sequences라는 것을 발견했다.
 은 공백을 나타내고, "는 더블쿼터(")를 나타낸다고 한다.
해당 Escape Sequence를 사용하여 필터링을 우회했다.
새로 작성한 payload는 다음과 같다.
" onclick="alert(document.domain);
아래와 같이 payload를 입력해주고 input 태그를 클릭해주면 팝업창이 뜰 줄 알았는데 나타나지 않았다.
소스코드를 확인해본 결과 onclick 이벤트는 잘 삽입이 되었는데, value와 onclick 이벤트가 제대로 분리되지 않고 있었다.
개발자도구를 켜서 value의 값을 수정하고 나면 값을 분리시킬 수 있다.
이후 input 태그를 클릭하면 다음과 같이 팝업창이 실행된다.
'Study > Web Hacking' 카테고리의 다른 글
[natas] Level 14 -> Level 15 (0) | 2021.05.30 |
---|---|
[natas] Level 13 -> Level 14 (0) | 2021.05.30 |
[LOS] darkelf (0) | 2021.05.23 |
[natas] Level 12 -> Level 13 (0) | 2021.05.23 |
[natas] Level 11 -> Level 12 (0) | 2021.05.23 |