article thumbnail image
Published 2021. 5. 23. 18:04

 

Stage #12에 입장!

 

 

 

input에 아무 payload나 작성하고 소스코드를 확인해봤다.

 

 

 

소스코드를 확인해보니 <, >, "등 특수문자를 필터링하고 있는 것을 알아냈다.

힌트를 보니 역시 대부분의 특수분자를 필터링하고 있었다.

 

 

 

특수문자 필터링을 우회할 방법을 찾아보다가 Character Escape Sequences라는 것을 발견했다.

&#x20은 공백을 나타내고, &#x22는 더블쿼터(")를 나타낸다고 한다.

 

해당 Escape Sequence를 사용하여 필터링을 우회했다.

 

새로 작성한 payload는 다음과 같다.

&#x22&#x20onclick=&#x22;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
복사했습니다!