Web/Web Hacking (Wargame)
[Dreamhack] out of money
ElAsJay
2023. 2. 4. 22:55
728x90
✏️ Check
이름을 입력하고 로그인하는 페이지다.
아무런 이름을 입력했더니 보유한 코인이 출력되었다.
"산타사설거래소"로 들어가면 무담보 대출을 받고, Flag를 구매하거나 코인의 종류를 바꿀 수 있다.
드림 유동성 풀에서는 담보 / 예금 / 대출이 가능하다.
🔎 Analyze
소스 코드
@app.route("/santa/flag", methods=['GET'])
def santa_flag():
if session['DHH'] >= 1000.0:
if session['debt_DHH'] == 0.0:
return render_template("flag.html")
else:
return render_template("santa.html", session=session, message="빚을 먼저 값으세욧!")
return render_template("santa.html", session=session, message="드핵코인이 없어욧!")
'DHH'에 대한 값이 1000 이상이고, 'debt_DHH'(DHH 빚)이 0이면 flag를 볼 수 있다.
🔓 Exploit
대출 (1000) -> 드냥코인으로 전부 변환 -> 담보로 돌림 -> 드멍코인 대출을 여러번 쪼개서 받음 (2000이상) -> 다시 산타사설거래소로 돌아가서 1000만큼 DHH로 돌림 -> 빚갚기 -> 똑같이 드멍코인을 DHH로 돌리면 빚은 0, DHH는 1000 -> flag 획득 가능하다!
SMALL