-
https://dreamhack.io/wargame/challenges/26
@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"
admin/notice_flag 에 들어가면 되는데 이 때 remote_addr이 127.0.0.1이어야한다.
따라서 flag 에서 vuln페이지로 접속하고 argumnet로 userid를 admin으로 전달해주면 된다.
vuln에서 보면 script가 *표 처리되는 걸 볼 수 있으니 img와 같은 태그로 대체한다.
<img src="/admin/notice_flag?userid=admin"/>