완료됨
제가 생가가하는 것이 맞는 건가요?
/flag에서 POST를 전송을 하는데
http://127.0.0.1:8000/vuln?param=...
와 같인 전송을 하면
@app.route("/flag", methods=["GET", "POST"])
def flag():
if request.method == "GET":
return render_template("flag.html")
elif request.method == "POST":
param = request.form.get("param", "")
session_id = os.urandom(16).hex()
session_storage[session_id] = 'admin'
if not check_csrf(param, {"name":"sessionid", "value": session_id}):
return '<script>alert("wrong??");history.go(-1);</script>'
return '<script>alert("good");history.go(-1);</script>'
에서
127.0.0.1:8000
여서 서버에서 접속을 시도하는 거고
session_id = os.urandom(16).hex()
session_storage[session_id] = 'admin'
에서 접속을 시도할때 admin 세션을 만들어서
admin
세션으로 접속을 하고
/chage_password
가되어서 guest
으로 로그인되어있어도 admin
을 원하는 pw으로 변경하이 되는 게맞나요?
#web
작성자 정보