목표 : URL javascript:alert(1)
임무 설명
교차 사이트 스크립팅은 단순히 데이터를 올바르게 이스케이프 처리하는 것이 아닙니다. 때로는 공격자가 새 요소를 DOM에 주입하지 않고도 나쁜 일을 할 수 있습니다.
(원문) Mission Description
임무 목표
응용 프로그램의 컨텍스트에서 팝업할 alert()스크립트를 삽입합니다 .
(원문) Mission Objective
Your Target
Target Code
confirm.html
level.py
signup.html
welcome.html
문제 풀이
Sign Up 링크를 클릭하면 다음으로 이동하고 위에는 next 인자 값을 조정할 수 있다.
email을 입력하면 Thanks … 페이지 이후 홈으로 돌아간다
#confirm.html
<script>
setTimeout(function() { window.location = '{{ next }}'; }, 5000);
</script>
#signup.html
<a href="{{ next }}">Next >></a>
HTML
복사
코드를 살펴보면 next 인자가 사용되는 곳은 두 곳이다.
javascript:alert(1)
HTML
복사
URL로 바로 인자 값을 전달 할 수 있는 방법이 있으므로 해당 인자에 다음 값을 입력하면 된다.
다음과 같이 next 인자를 수정하고 Next >> 링크를 클릭하게되면 javascript가 실행될 것이다.