๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Web Hacking/Dreamhack

[Dreamhack] CSRF-1 ๋“œ๋ฆผํ•ต ์›Œ๊ฒŒ์ž„ ๋ฌธ์ œ ํ’€์ด

by A Lim Han 2022. 9. 22.

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 ๊ณต๊ฒฉ์„ ์‹œ๋„ํ•ด์•ผ ํ•จ

 

 

์ž…๋ ฅ ํ›„ good ํŒ์—…์ฐฝ์ด ์ถœ๋ ฅ๋จ

 

 

 

5. memo ํŽ˜์ด์ง€๋กœ ์ด๋™ ํ›„ FLAG ์ถœ๋ ฅ๊ฐ’ ํ™•์ธ

FLAG๋Š” DH{11a230801ad0b80d52b996cbe203e83d}