[Dreamhack] CSRF-1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด
2 - 1 - 2. CSRF - 1 ์ทจ์ฝ์ ๋ถ์ ์ค์ต
# CSRF - 1 ์ทจ์ฝ์ ๋ถ์ ์ค์ต
1. ๋ฌธ์ ๋ด์ฉ ํ์ธ ๋ฐ ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋
2. ๋ฌธ์ ์ฝ๋ ๋ถ์
+ << Line 44 ~ 45 >>
: url์ ์ค์ ํ ๋ฐฉ๋ฌธํ๋ ์ฝ๋
+ << Line 55 >>
: ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ์ ์๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ ์ฝ๋
+ << Line 56 >>
: ์ ์ฑ ํค์๋ ๋ฐ ํํฐ๋ง ํค์๋ ์ ์
+ << Line 58 >>
: param ๊ฐ์ *์ผ๋ก ์นํํ๋ ์ฝ๋
+ << Line 62 ~ 63 >>
: GET, POST ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
: def flag() ํตํด flag ํจ์ ํธ์ถ
+ << Line 64 ~ 67 >>
: ์ด์ฉ์์ ์์ฒญ์ด GET ๋ฐฉ์์ผ ๊ฒฝ์ฐ ๋งํฌ๋ฅผ ์ ๋ ฅ๋ฐ๋ ํ๋ฉด์ ์ถ๋ ฅ
: ์ด์ฉ์์ ์์ฒญ์ด POST ๋ฐฉ์์ผ ๊ฒฝ์ฐ parameter์ ๊ฐ์ ธ์ค๊ณ , ์ด๋ฅผ ์ธ์๋ก ํ์ฌ ๊ด๋ฆฌ์์๊ฒ ์ ์ ์์ฒญ
+ << Line 68 ~ 71 >>
: ํ์ ์ฐฝ์ ์คํํ๋ ์ฝ๋
+ << Line 78 ~ 80 >>
: memo ํจ์๋ฅผ ํธ์ถ ํ memo ๋ฅผ ์ ์ญ๋ณ์๋ก ์ฐธ์กฐ
+ << Line 83 >>
: ๋ถ๋ฌ์จ ๊ฐ์ ๋ง์ง๋ง์ ์ฐธ์กฐ ๋ฐ ์ถ๋ ฅ
+ << Line 86 ~ 94 >>
: memo์ FLAG๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ ํ์ด์ง๋ก, ์ด ๊ธฐ๋ฅ์ ๊ด๋ฆฌ์๋ง ์ํ ๊ฐ๋ฅ --> ๊ด๋ฆฌ์ ๊ณ์ ์ ํ์ทจํด์ผ ํจ
: global memo_text ํตํด memo๋ฅผ ์ ์ญ๋ณ์๋ก ์ฐธ์กฐ
: ๋ก์ปฌ ํธ์คํธ = ์์ ์ ์ปดํจํฐ ์ฃผ์ = 127.0.0.1
+ << Line 90 ~ 92 >>
: ๋ง์ผ ์ ์ ์ IP๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ Access Denied ๋ฉ์์ง ์ถ๋ ฅ
: ์ถ๊ฐ๋ก user์ ID๊ฐ admin์ด ์๋ ๊ฒฝ์ฐ์๋ ์์ ๋์ผํ ๋ฉ์ธ์ง ์ถ๋ ฅ
+ << Line 93 ~ 94 >>
: ์์ ๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ ๊ฒฝ์ฐ์๋ง memo์ FLAG๋ฅผ ๊ธฐ๋ก ๋ฐ ์ถ๋ ฅํ๊ณ , OK๋ฅผ ๋ฐํํ๋ ์ฝ๋
3. ์ ์ ์ ๋ณด ํ์ธ ํ http://host3.dreamhack.games:13330/ ํ์ด์ง๋ก ์ ์
4. flag ํ์ด์ง๋ก ์ด๋ ํ ๋น์นธ์ <img src="/admin/notice_flag?userid=admin" /> ์ ๋ ฅ
+ ์ ์ฝ๋ ๋ถ์์์ ์ ์ ์๋ฏ ํ์ฌ frame, script, on ์ธ ๊ฐ์ง์ ํค์๋๋ ํํฐ๋ง๋์ด xss ๊ณต๊ฒฉ์ ๋ถ๊ฐ๋ฅ
--> ํํฐ๋ง๋์ง ์์ ํค์๋์ธ img ํ๊ทธ๋ฅผ ํ์ฉํ์ฌ CSRF ๊ณต๊ฒฉ์ ์๋ํด์ผ ํจ
5. memo ํ์ด์ง๋ก ์ด๋ ํ FLAG ์ถ๋ ฅ๊ฐ ํ์ธ