Jastes 2022. 6. 24. 14:29


WriteUp

๋ฌธ์ œ ๋ชฉํ‘œ์™€ ์ฃผ์š” ๊ธฐ๋Šฅ ์„ค๋ช…


์—”๋“œํฌ์ธํŠธ ๋ถ„์„

/vuln

xss์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ ๋‹จ์„ ํ•„ํ„ฐ๋ง ํ•˜๋Š” ๋ถ€๋ถ„์ด๋ฉฐ GET ์š”์ฒญ์œผ๋กœ ํ™•์ธ์„ ํ•˜๋„ค์š”
๋‹จ, ๋ช…ํ™•ํ•˜๊ฒŒ ํ•„ํ„ฐ๋ง ๋˜์–ด ์žˆ์ง€ ์•Š์•„ xss๋„ ๊ฐ€๋Šฅํ•˜๋‚˜ ์šฐ๋ฆฐ csrf๋กœ ํ•ฉ์‹œ๋‹ค
<> ์ด๋Ÿฐ ํƒœ๊ทธ๋„ ๊ฐ€๋Šฅํ•˜๋‹ˆ๊นŒ ๊ฐ€๋Šฅํ•œ๊ฑฐ๊ฒ ์ฃ ? (์ด ์ฝ”๋“œ๊ฐ€ ํ•ต์‹ฌ!!)


/memo

global๋กœ memo_text๋ฅผ ์ง€์ •ํ•ด์ฃผ์—ˆ์ฃ 
๋˜ํ•œ text๋Š” ์ด์šฉ์ž๊ฐ€ ์ „๋‹ฌํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  ํ•ด๋‹น ์ƒ์ˆ˜ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์—ฌ..
render_template์„ ํ†ตํ•ด ๋ฐ˜ํ™˜ํ•ด์ฃผ๋„ค์š”(์ด ๋ถ€๋ถ„์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ?)


/admin/notice_flag

์•„๊นŒ global๋กœ memo_text ์ง€์ •ํ–ˆ์œผ๋‹ˆ๊นŒ ์ด์šฉํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ฃ 
๋˜ํ•œ ๋กœ์ปฌ ip์— ์ ‘๊ทผํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•œ ๋ฒˆ Access Deniedํ•ด์ฃผ๊ณ 
๋˜.. ์š”์ฒญ๋ฐ›์€ userid๊ฐ€ admin์ด ์•„๋‹ˆ๋ฉด ๋˜ ๊ถŒํ•œ ์—๋Ÿฌ ๋„์šฐ๊ธฐ์— ์ด ๋‘๊ฐ€์ง€ ๋ชจ๋‘ ํ•ด๊ฒฐํ•ด์•ผ๊ฒ ์ฃ 

๊ทธ๋ž˜์„œ CSRF ๊ณต๊ฒฉ์œผ๋กœ ํ•˜๋ผ๊ณ  ํ•˜๋‚˜๋ณด๋„ค์š”


/flag

์‚ฌ์šฉ์ž์˜ ๋Œ€ํ•œ ์ž…๋ ฅ์„ GET์œผ๋กœ ์š”์ฒญ ๋ฐ›๊ณ (URL)

POST๋กœ ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ ๋ฐ›์•„
check_csrf์— ๊ฒ€์ฆ์„ ํ•˜๋ฉฐ ๋ฐ‘์— ์ฝ”๋“œ๊ฐ€ ๊ทธ๋Ÿฐ ๋‚ด์šฉ์ด์ฃ  ํ•ด๋‹น cookie๋„ ์ƒ์„ฑํ•˜๊ณ ์š”

์ถœ๋ ฅ์€ ์•„๋ž˜ ๋‚˜์˜จ ๋‚ด์šฉ์œผ๋กœ ์ถœ๋ ฅ์„ URL ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์œผ๋กœ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•˜์—ฌ

read_url์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฐ˜ํ™˜์„ ํ•ด์ฃผ๋„ค์š” ์šฐ๋ฆฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋กœ์ปฌ์—์„œ ํ•˜๋Š”๊ฑฐ๋ผ์„œ..
127.0.0.1๋กœ ํ˜ธ์ŠคํŠธ๋ฅผ ์ ‘๊ทผํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

read_url์€ ์…€๋ฆฌ๋Š„์ด๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด ๊ด€๋ฆฌ์ž ๋ด‡์ด ๊ณ„์† ์ ‘๊ทผํ•œ๋‹ค๋Š” ์ ์€ ๊ฟ€ํŒ์œผ๋กœ ์•Œ์•„๋‘์„ธ์š”
๊ทธ๋Ÿฌ๊ธฐ ๋•Œ๋ฌธ์— read_url์— ๊ด€๋ฆฌ์ž ๋ด‡์ด ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.


์ทจ์•ฝ์  ๋ถ„์„

/vuln

xss์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ ๋‹จ์„ ํ•„ํ„ฐ๋ง ํ•˜๋Š” ๋ถ€๋ถ„์ด๋ฉฐ GET ์š”์ฒญ์œผ๋กœ ํ™•์ธ์„ ํ•˜๋„ค์š”
๋‹จ, ๋ช…ํ™•ํ•˜๊ฒŒ ํ•„ํ„ฐ๋ง ๋˜์–ด ์žˆ์ง€ ์•Š์•„ xss๋„ ๊ฐ€๋Šฅํ•˜๋‚˜ ์šฐ๋ฆฐ csrf๋กœ ํ•ฉ์‹œ๋‹ค
<> ์ด๋Ÿฐ ํƒœ๊ทธ๋„ ๊ฐ€๋Šฅํ•˜๋‹ˆ๊นŒ ๊ฐ€๋Šฅํ•œ๊ฑฐ๊ฒ ์ฃ ? (์ด ์ฝ”๋“œ๊ฐ€ ํ•ต์‹ฌ!!)

๋„˜์–ด๊ฐ€๊ธฐ ๊ท€์ฐฎ์œผ์‹ค ๊ฑฐ๋‹ˆ๊นŒ ์—ฌ๊ธฐ๋กœ ๊ฐ€์ง€๊ณ  ์™”์–ด์š” ใ…Ž


์ต์Šคํ”Œ๋กœ์ž‡

/vuln์—์„œ ์ž…๋ ฅํ•ด ์ต์Šคํ”Œ๋กœ์ž‡ ์‹œํ‚ค๋Š” ๋ถ€๋ถ„์œผ๋กœ CSRF์˜ ํŠน์ง•์„ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•ด์„œ Dreamhack tools๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•œ๋ฒˆ ํ•ด๋ณผ๊นŒ์š”

์‹œ๋‚˜๋ฆฌ์˜ค์™€ ํ•ด๋‹น flag๋ฅผ ์–ป๋Š” ๊ณผ์ •์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€๋Š” ๋ง ์•ˆํ•ด๋„ ๋ณด์ด๊ฒ ์ฃ ?

ํ…Œ์ŠคํŠธ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ์œผ๊ณ  ๋ฐ”๋กœ ์ ์šฉ๋˜๋Š” ๊ฒƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ์–ด์„œ ๋ณด๋‚ด๋“œ๋ฆด๊ป˜์š”

<img src="https://sbcjilh.request.dreamhack.games">

์š”์ฒญ์ด ์ž˜ ์™”์œผ๋ฉฐ imageํ…Œ๊ทธ๋กœ cross-site๋กœ ์™”๊ธฐ์— ์œ„ ํ•ด๋‹น ๊ณต๊ฒฉ๊ธฐ๋ฒ• ์ ์šฉ์ด ๋˜๊ฒ ์ฃ 

์‹ค์Šต ์ฝ”๋“œ
<img src="/admin/notice_flag?userid=admin" width=0px height=0px>

์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ /flag์— ์žˆ์–ด์„œ ๋„ฃ์–ด์„œ ์ ์šฉ์„ ํ•œ๋‹ค๋ฉด..

DH{11a230801ad0b80d52b996cbe203e83d}



[Dreamhack] CSRF-2 - WriteUp

์ทจ์•ฝ์  ๋ถ„์„

์œ„ ์ฝ”๋“œ๋ž‘ ์œ ์‚ฌํ•˜๋ฏ€๋กœ ์ด ๋ถ€๋ถ„๋งŒ ๋ด…์‹œ๋‹ค.
Password๋ฅผ ๋ฐ”๊พธ๋Š” ๋ถ€๋ถ„์œผ๋กœ ์ œ ์ƒ๊ฐ์œผ๋ก  CSRF-2 ๋ฌธ์ œ๊ฐ€ ๊ฐ€์žฅ ๋ช…ํ™•ํ•œ CSRF ๊ณต๊ฒฉ์˜ ์˜ˆ์ œ์ด์ง€ ์•Š์„๊นŒ..

์จ‹๋“  ์„ธ์…˜ ID๋ฅผ ํ™•์ธํ•˜๊ณ (์—†์œผ๋ฉด None์œผ๋กœ) pw๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋ฐ”๊พธ๋Š” ๋ถ€๋ถ„์ด๋„ค์š”...
๋ญ ์ด๊ฒŒ ๋ชจ๋“  ๋ถ€๋ถ„์ด ๋๋‚˜๊ณ  ์‹ค์Šต ์ฝ”๋“œ๋กœ ๋“ค์–ด๊ฐ€๋„ ๋ ๊ฑฐ ๊ฐ™๋„ค์š”

<img src=/change_password?pw=1234>

๋ฐ”๋€ PW๋ฅผ ํ†ตํ•ด admin์œผ๋กœ ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค๋ฉด..

DH{c57d0dc12bb9ff023faf9a0e2b49e470a77271ef}


์ฐธ๊ณ  ์ž๋ฃŒ

 

csrf-1

์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๊ณผ ์ž…๋ ฅ๋ฐ›์€ URL์„ ํ™•์ธํ•˜๋Š” ๋ด‡์ด ๊ตฌํ˜„๋œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. CSRF ์ทจ์•ฝ์ ์„ ์ด์šฉํ•ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํš๋“ํ•˜์„ธ์š”. Reference Client-side Basic

dreamhack.io

์ฐธ๊ณ  ์ด๋ฏธ์ง€