Web/Web Hacking (Wargame)

[Dreamhack] out of money

✏️ 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

'Web > Web Hacking (Wargame)' 카테고리의 다른 글

[webhacking.kr] old-18  (0) 2023.02.10
[webhacking.kr] old-33  (0) 2023.02.04
[webhacking.kr] old-32  (0) 2023.02.03
[hackthissite/Javascript] Mission 1 ~ Mission 7  (1) 2023.01.30
[webhacking.kr] old-17  (0) 2023.01.29