본문 바로가기

Web_Hacking/DreamHack

4. xss-1

 제공되는 웹페이지 확인

3개의 page 확인 가능

 제공되는 코드 확인(상단 코드)

  •  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띄우는 것 확인 가능

vuln(xss) page

  • memo page : memo인자를 가져와 memo_text  출력

memo page

  • flag page : 요청 메서드에 따라 GET이면 flag.html, POST면 check_xss 함수 호출

flag page

 제공되는 코드 확인(정리)

  • 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