@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 |