▶ 제공되는 웹페이지 확인
▶ 제공되는 코드 확인(상단 코드)
- check_csrf함수
- 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값 추가
▶ 제공되는 코드 확인(하단 코드/4 pages)
- vuln page: param 인자를 가져와 return 해줌
- xss filter : frame, script, on 구문 사용 시, *로 치환
- flag page : 요청 메서드에 따라 GET이면 flag.html, POST면 check_csrf 함수 호출
- memo page : memo인자를 가져와 memo_text 출력
- noticed_flag page : 127.0.0.1 로컬 접속이 아닐 경우, Deny, userID가 admin이 아닐 경우 Deny
▶ 공격코드
<img src=/admin/notice_flag?userid=admin>
- flag 페이지를 이용하여 local에서 notice flag 페이지에 접속 후, memo로 flag 출력!
'Web_Hacking > DreamHack' 카테고리의 다른 글
8. SQL Injection1 (0) | 2023.09.24 |
---|---|
7. csrf-2 (0) | 2023.07.29 |
5. xss-2 (xss 우회) (0) | 2023.07.23 |
4. xss-1 (0) | 2023.07.22 |
3.cookie-basic (0) | 2022.12.30 |