일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인공지능
- c언어
- 딥러닝
- 백준알고리즘
- 밑바닥부터시작하는딥러닝
- 버퍼오버플로우
- C알고리즘
- 머신러닝
- BOF
- 정보보안
- 항등함수
- 파이썬
- C언어 알고리즘
- 달고나bof
- 백준
- 활성화함수파이썬
- 보안
- 스트림암호
- 신경망파이썬
- 파이썬신경망
- FTZlevel10
- 신경망 학습
- 딥러닝파이썬
- BOJ
- 신경망구현
- 알고리즘
- 신경망
- 8086CPU레지스터
- C언어알고리즘
- 소프트맥스함수
- Today
- Total
HeeJ's
[level5] Breaking protocol :: XSS game 본문
DOM에 스크립트를 삽입하지 않고 문제를 풀어야 한다고 한다.
DOM이란 무엇일까?
Document Object Model
웹 페이지(HTML)에 대한 인터페이스
1. 뷰 포트에 무엇을 렌더링 할 지 결정하기 위해 사용
2. 페이지의 콘텐츠 및 구조, 그리고 스타일이 자바 스크립트 프로그램에 의해 수정되기 위해 사용
원본 HTML 문서 형태와 비슷하지만 몇 가지 차이점이 있다.
- 항상 유효한 HTML 형식이다
- 자바 스크립트에 수정될 수 있는 동적 모델이어야 한다.
- 가상 요소를 포함하지 않는다.(ex. ::after)
- 보이지 않는 요소를 포함한다.(ex. display : none)
signup 링크를 클릭하게 되면 ?next=confirm이라는 요청과 함께 다른 페이지로 넘어가게 된다.
next 변수가 어떤 것인지 확인해보기 위해 소스 코드를 확인해 보았다.
if문으로 분기를 가지는 것 같은데 이 코드를 보면
1. next 값에 signup이 포함되면 signup.html로 이동
2. confirm이 포함되면 confirm.html로 이동
3. 이외의 값일 경우 welcome.html로 이동
이렇게 볼 수 있다.
next에 그냥alert문을 넣게 되면 3번으로 분기하게 되어
welcome.html으로 이동하게 되는 것 같다.
signup.html의 코드 중 일부분인데,
welcome.html에는 next에 대한 제약이 너무 많은 것 같아 signup으로 이동한 후, next라는 값에 aler를 넣어주려고 한다.
signup으로 이동한 후 next에 alert를 넣어주었다.
그리고 go 버튼이 아닌 Next 버튼을 눌러주면
alert 창이 뜨게 된다.
'<CTF> > <XSS game>' 카테고리의 다른 글
[level4] Context matters :: XSS game (0) | 2021.05.18 |
---|---|
[Level 3] That sinking Feeling... :: XSS game (0) | 2021.01.28 |
[Level 2] Persistence is key :: XSS game (0) | 2021.01.28 |
[Level 1] Hello, world of XSS :: XSS game (0) | 2021.01.28 |