[๋ฌธ์ ]
์ฟ ํค๋ก ์ธ์ฆ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ๋จํ ๋ก๊ทธ์ธ ์๋น์ค์ ๋๋ค.
admin ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด ํ๋๊ทธ๋ฅผ ํ๋ํ ์ ์์ต๋๋ค.
ํ๋๊ทธ ํ์์ DH{...}์ ๋๋ค.
cookie
์ฟ ํค๋ก ์ธ์ฆ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ๋จํ ๋ก๊ทธ์ธ ์๋น์ค์ ๋๋ค. admin ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด ํ๋๊ทธ๋ฅผ ํ๋ํ ์ ์์ต๋๋ค. ํ๋๊ทธ ํ์์ DH{...} ์ ๋๋ค. Reference Introduction of Webhacking
dreamhack.io
[๋ฌธ์ ํ์ด]

1) ์ฐ์ ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ์ ์ค๋ฅธ์ชฝ ์๋จ์ ์๋ ๋ก๊ทธ์ธ ํ์ด์ง์ ๋ค์ด๊ฐ์ต๋๋ค.


2) ๋ก๊ทธ์ธ ํ์ด์ง์์ username์ admin์ ์น๊ณ password์ ์๋ฌด๊ฑฐ๋ ์น๋ wrong password๊ฐ ๋ด๊ณ

3) ์ฝ๋๋ฅผ ๋ถ์ํ๋ guest์ password๊ฐ guest์ด๊ณ admin ๊ณ์ ์ flag๋ก ์ ์๊ฐ ์์์ต๋๋ค.

4) ๋จผ์ guest ๊ณ์ ์ผ๋ก ๋ค์ด๊ฐ๋ ์ด ํ์ด์ง๊ฐ ๋์๊ณ
@app.route('/')
def index():
username = request.cookies.get('username', None)
if username:
return render_template('index.html', text=f'Hello {username}, {"flag is " + FLAG if username == "admin" else "you are not admin"}')
return render_template('index.html')
5) ๋ค์ ์ฝ๋๋ฅผ ๋ถ์ํ๋ username์ด admin ์ด๋ฉด flag๋ฅผ ๋๋๋ ค์ค๋ค๋ ์ฌ์ค์ ์์๊ณ


6) ๊ฒ์ ์ด๋ฆ์ด ์ฟ ํค์ธ ์ ์์ ํํธ๋ฅผ ์ป์ด ์ฟ ํค์์ username ๊ฐ์ guest์์ admin์ผ๋ก ๋ณ๊ฒฝ์ ํ์ต๋๋ค.

7) ๋ฐ๋! ํ๋๊ทธ๋ฅผ ํ๋ํ์ต๋๋ค!
'๋ณด์ > CTF' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํฌ๋ ์] Angstrom CTF 2022-Shark 2 (0) | 2024.08.20 |
---|---|
[ํฌ๋ ์] Angstrom CTF 2022-Shark 1 (0) | 2024.08.20 |
[์นํดํน] XSS GAME_level 2 (0) | 2024.08.20 |
[์นํดํน] webhacking.kr old-44 (0) | 2024.08.20 |
[์นํดํน] | [๋๋ฆผํต] file-download-1 (0) | 2024.08.20 |