dreamhack [ csrf-1 ]

2024. 5. 10. 11:21·웹/웹 해킹 문제 풀이

 

문제의 화면이다. 기존의 xss-2에서 notice flag 링크가 추가되어있다.

 

 

@app.route("/admin/notice_flag")  // 페이지 정의 
def admin_notice_flag():             
    global memo_text
    if request.remote_addr != "127.0.0.1":    // 접속ip가 로컬이어야함 
        return "Access Denied"                  
    if request.args.get("userid", "") != "admin":      // userid 파라미터 값이 admin이어야 함 
        return "Access Denied 2"
    memo_text += f"[Notice] flag is {FLAG}\n"   // 메모 페이지에 flag 출력
    return "Ok"

 

admin_notice_flag( ) 함수에 flag가 존재하고 로컬, admin의 조건이 있어야 flag획득이 가능하다. read_url 함수의 드라이버를 이용하여 로컬 호스트로 /admin/notice_flag에 요청(csrf)을 보내야한다.  

 

@app.route("/vuln")
def vuln():
    param = request.args.get("param", "").lower()
    xss_filter = ["frame", "script", "on"]
    for _ in xss_filter:
        param = param.replace(_, "*")
    return param

 

xss 발현이 되었던 /vuln 페이지는 일부 문자열로 xss 필터링 되어있다. 

 

 vuln 페이지 [ csrf 취약점이 존재함 ] -> flag 페이지 [ 로컬 ip로 접속하기 위함 ] -> read_url 함수 [ 로컬호스트로 url 접속 ] -> notice_flag 페이지 [ memo_text 에 flag 값 추가 ]  -> memo 페이지 [ flag 확인 ]  이와 같은 순서로 flag 값을 출력해야 하며 vuln 페이지에서는 일부 문자열을 *으로 replace 하기에 올바른 구문을 입력해야 한다. 

 

flag 페이지에 <img src="/admin/notice_flag?userid=admin"></img> 를 입력하면 memo 페이지에 flag가 출력된다.

저작자표시 (새창열림)

'웹 > 웹 해킹 문제 풀이' 카테고리의 다른 글

Stage #2  (0) 2024.06.03
Stage #1  (0) 2024.06.03
dreamhack [ xss-2 ]  (0) 2024.05.09
dreamhack [ xss-1 ]  (0) 2024.05.09
webhacking.kr 11번  (0) 2023.08.04
'웹/웹 해킹 문제 풀이' 카테고리의 다른 글
  • Stage #2
  • Stage #1
  • dreamhack [ xss-2 ]
  • dreamhack [ xss-1 ]
-송현우-
-송현우-
  • -송현우-
    모험
    -송현우-
  • 전체
    오늘
    어제
    • 분류 전체보기 (111)
      • 웹 (68)
        • 취약점 진단 (6)
        • 웹 해킹 문제 풀이 (45)
        • 모의해킹 (15)
        • CS (2)
      • 모바일 (0)
      • 인프라 (10)
        • Infra 보안점검 (10)
      • 클라우드 (0)
      • 네트워크 (1)
        • 네트워크 기초 이론 (1)
      • 자격증 (12)
        • 정보보안기사 (2)
        • 정보처리기사 (2)
        • CPPG (1)
        • 리눅스마스터2급 (1)
        • bhpt (4)
        • 컴활 (1)
        • ISMS-P (1)
      • CVE (1)
      • 개발 (16)
        • 백준 (12)
        • 게임 (3)
      • CTF (0)
      • OS (1)
        • linux (1)
      • 낙서장 (2)
        • 정리노트 (0)
        • 공부 계획 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    행렬덧셈
    불충분한 인가
    write up
    문제풀이
    주요정보통신기반시설 기술적 취약점 분석 및 방법 상세가이드
    웹해킹
    jwt 토큰
    oicd
    주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드
    bwapp
    정보 누출
    정보보안기사 합격 수기
    webhacking
    2023년도 4회차 실기
    불충분한 인증
    WarGame
    write-up
    webhacking.kr
    백준
    위치공개
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
-송현우-
dreamhack [ csrf-1 ]
상단으로

티스토리툴바