상세 컨텐츠

본문 제목

[Dreamhack] csrf-1

WEB HACKING/Dreamhack

by koharin 2022. 12. 10. 09:50

본문

728x90
반응형


@app.route("/admin/notice_flag")
def admin_notice_flag():
    global memo_text
    if request.remote_addr != "127.0.0.1":
        return "Access Denied"
    if request.args.get("userid", "") != "admin":
        return "Access Denied 2"
    memo_text += f"[Notice] flag is {FLAG}\n"
    return "Ok"


app.run(host="0.0.0.0", port=8000)

vuln에서 param를 가져와서 xss 필터링 항목이 있으면 *으로 대체
127.0.0.1로 요청해야 하고, userid 필드을 admin으로 주면 flag를 출력해준다.

홈에서 notice flag 경로로 가면 admin_notice_flag 에 따라 처리해주는데 127.0.0.1으로 요청할 수 없기 때문에 아니기 때문에 Access Denied가 뜬다.

flag 페이지에서는 127.0.0.1:8000으로 요청을 보낼 수 있어서, admin_notice_flag 함수 조건에 맞게 줄 수 있다.
xss_filter = ["frame", "script", "on"]에서 확인할 수 있듯이 img 태그는 필터링하지 않는다.

728x90
반응형

'WEB HACKING > Dreamhack' 카테고리의 다른 글

[Dreamhack] file-download-1  (0) 2022.11.24
[Dreamhack] proxy-1  (0) 2022.01.04
[Dreamhack] command-injection-1  (0) 2022.01.03
[Dreamhack] pathtraversal  (0) 2021.03.08
[Dreamhack] simple_sqli (SQL Injection)  (0) 2021.02.09

관련글 더보기