일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 메소드
- lord of sql injection
- document
- burp suite
- blind sql injection
- suninatas 풀이
- 파이썬
- 조건문
- xss game
- 함수
- htmlspecialchars
- 사칙연산
- jQuery
- 자바스크립트
- python
- Pwndbg
- github
- sql injection
- xss game 풀이
- 포인터
- IF문
- object
- property
- 객체
- 배열
- 백준 파이썬
- 백준 알고리즘
- window
- 김성엽 대표님
- element 조회
Archives
- Today
- Total
power-girl0-0
[XSS game] level 5 본문
728x90
XSS game 주소
미션 설명
사이트 간 스크립팅은 단순히 데이터를 올바르게 이스케이프하는 것이 아닙니다.
때때로 공격자는 새로운 요소를 DOM에 주입하지 않고도 나쁜 짓을 할 수 있습니다.
미션 목표
스크립트를 주입하여 응용 프로그램의 컨텍스트에 경고()를 팝업합니다.
풀이
첫 화면에서 Singn up을 누르면, 아래와 같이 signup.html이 출력된다.
여기서 아무 이메일이나 입력하고 Next를 클릭하면, confirm.html이라는 페이지가 출력된다.
이제 문제를 파악했으니, 풀어보도록 하자.
먼저, 입력값이 있는 페이지인 signup.html의 소스를 살펴보았다.
위와 같이 Next를 클릭하면, next값으로 넘어가게 되어있다.
그래서 페이지를 보니 파라미터에서 next = confirm이라고 되어있는 것을 확인할 수 있다.
따라서, next를 클릭하면 confirm.html로 이동하는 것 대신 스크립트를 전달해주면 alert창이 출력될 것으로 예상된다.
url에서 스크립트를 전달하는 방법을 활용하여, 아래와 같이 작성해보았다.
xss-game.appspot.com/level5/frame/signup?next=javascript:alert('dohyeon'); |
위와 같이 입력하고 Go버튼을 눌렀으나, 아무런 변화가 나타나지 않았다.
그래서, next버튼을 눌러야 하나?!!! 생각이 들어서 next버튼을 클릭해보았다.
next를 눌른 결과, 아래와 같이 문제가 CLEAR되었다.
728x90
'War game > XSS game' 카테고리의 다른 글
[XSS game] level 6 (0) | 2021.02.14 |
---|---|
[XSS game] level 4 (0) | 2021.02.13 |
[XSS game] level 3 (0) | 2020.12.28 |
[XSS game] level 2 (0) | 2020.12.28 |
[XSS game] level 1 (0) | 2020.12.28 |
Comments