@5번 문제

DOM에 스크립트를 삽입하지 않고 XSS 공격을 하는 문제이다.



(문제 화면)



여기서 Sign up 을 클릭해보면
아래와 같이 나온다.




(Sign up 화면)



여기서 URL을 잘 보면 next라는 변수에 confirm이라는 값이 들어가 있는 것을 확인 할 수 있다.
이따 코드를 보면서 이 부분이 어떤 역할을 하는지 확인 할 필요가 있다.
우선 이 페이지가 어떻게 동작하는지 확인해보자 이메일을 적고 Next를 눌러준다.



(Next 눌러준 화면)



그 다음 페이지 화면으로 시간이 조금 있으면 다시 원래 페이지로 돌아간다.
코드로 signup 페이지를 확인해본다.



(signup 페이지 코드)



코드를 보면 우리가 클릭하는 Next 버튼이 링크 태그로 걸려있는 것을 확인 할 수 있다.
또 링크 주소가 next 변수의 값으로 전달되고 있는 것을 확인 할 수 있다!
즉, 우리가 next변수 값으로 스크립트를 전달해 줄 수 있으면 된다.

그렇다면 URL로 스크립트를 전달하는 방법은?



(스크립트)



위와같이 주소창에 javascript: 입력 후 스크립트 코드를 입력해주면


(스크립트 동작)



스크립트가 동작한다.

우리는 이것을 이용하여 문제를 해결할 것이다.
next변수에 javascript:alert('attack'); 값을 전달하여 링크 주소를 세팅한다.





(링크 주소 세팅)



그 후 Next 버튼을 클릭해주면 스크립트가 실행되고
문제를 풀 수 있다.




(문제 해결)






'WarGame > XSS Game' 카테고리의 다른 글

XSS GAME - level 6  (1) 2017.04.03
XSS GAME - level4  (1) 2017.04.01
XSS GAME - level3  (0) 2017.03.31
XSS GAME - level2  (0) 2017.03.31
XSS GAME - level1  (0) 2017.02.15

+ Recent posts