▶ 제공되는 웹페이지 확인
▶ 제공되는 코드 확인(상단 코드)
- check_xss함수
- url = f : 파이썬의 문자열 연결 f-string 기능 / 문자열과 숫자를 + 연결해 주면 타입이 맞지 않아 오류가 나기 떄문에 타입을 변경해주거나 format을 사용해서 연결해주는데 이 format을 사용하는 기능
- urllib.parse.quote : 인자로 주어진 문자열에서 특수문자를 문자열로 변환해서 반환하는 기
- read_url 함수 호출하는 것 확인 가능, 인자로 넘겨받은 cookie과 vuln page로 이동
- read_url함수
- implicity_wait : 페이지가 로딩되는 동안 정해진 시간만큼 기다리는 함수
- set_page_load_timeout(time_to_wait) : 페이즈를 읽는 타임아웃 지정 / 일정 시간동안만 페이지 로딩을 시도 후, 완료 못할 경우 에러 표기
- driver.get : 웹페이지 접속
- driver.add_cookie(cookie) : 접속한 웹페이지에 매개변수로 받아온 cookie값 추가
▶ 제공되는 코드 확인(하단 코드/3 pages)
- vuln(xss) page : param 인자를 가져와 return 해줌
- 스크립트 구문을 받아 alert띄우는 것 확인 가능
- memo page : memo인자를 가져와 memo_text 출력
- flag page : 요청 메서드에 따라 GET이면 flag.html, POST면 check_xss 함수 호출
▶ 제공되는 코드 확인(정리)
- flag page단에서 xss값을 입력 후, vuln(xss) page로 전송하여 로컬호스트 환경에서 웹페이지 접속 및 FLAG값을 쿠키로 추가하여 사용자로부터 입력받은 값을 이용하여 xss 페이지를 실행.
- 공격 구문
<script>location.href = "/memo?memo=" + document.cookie;</script>
- flag페이지에서 로컬호스트 환경에서 FLAG가 적힌 쿠키값 추가하여 memo 페이지로 전솔
- memo 페이지에는 FLAG가 작성되어짐(넘겨진 인자이기 때문에)
▶ 결과(memo page)
[모든 자료에 대한 저작권은 dreamhack.io에 있으며, 본 게시물은 공부한 내용을 기록하는 목적으로 작성되었습니다. ]
'Web_Hacking > DreamHack' 카테고리의 다른 글
6. csrf-1 (0) | 2023.07.29 |
---|---|
5. xss-2 (xss 우회) (0) | 2023.07.23 |
3.cookie-basic (0) | 2022.12.30 |
2. session-basic (0) | 2022.12.29 |
1. devtools-sources (0) | 2022.12.26 |