본문 바로가기

Web_Hacking/DreamHack

6. csrf-1

 제공되는 웹페이지 확인

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

  •  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 출력!

flag page 공격

 

memo page 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