๐Ÿ“šโ”‚War_Game/๐Ÿ˜˜โ”‚CTF

์กฐ์„ ๋Œ€_Ex-Online_Judge

Jastes 2023. 2. 24. 17:37

Oline Judge_Write Up

์ฃผ์˜์‚ฌํ•ญ
๐Ÿ’ก์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋ก  ์ ‘๊ทผํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ ์ €ํฌ๋Š” ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ๋ฏธ๋ฆฌ ๋ฐ›๊ณ  ์–‘ํ•ด ํ›„ ์‹ค์Šตํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ์„ค์ • ํŽ˜์ด์ง€๋กœ ๋“ค์–ด๊ฐ„ ๋ชจ์Šต


Password Reset

Password๋ฅผ resetํ•˜๋Š” ํŽ˜์ด์ง€์ด๋ฉฐ, ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ž…๋ ฅํ•˜๋ฉด ์žฌํ™•์ธ ๋ฐ ์ธ์ฆ์˜ ์ ˆ์ฐจ ์—†์ด
๋ฐ”๋กœ ๋น„๋ฒˆ์ด ๋ณ€๊ฒฝ๋œ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.(์ €๋Š” ๊ท€์ฐฎ์•„์„œ ๋˜‘๊ฐ™์€ ๋น„๋ฒˆ์œผ๋กœ ํ–ˆ๋Š”๋ฐ..)

์ด ๋ถ€๋ถ„์— ๋Œ€ํ•˜์—ฌ ํ•ด๋‹น CurrentUser์˜ Session ID ๋“ฑ์˜ ์ •๋ณด๋กœ ๋ฐ”๋กœ ์œ ์ €์˜ Password๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์ ์„ ์ด์šฉํ•˜์—ฌ
CSRF ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ถ€๋ถ„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๊ณผ์ œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ํด๋ฆญ ์‹œ ํ•ด๋‹น ์œ ์ €์˜ URL์ด ๋ฐ”๋กœ Password Reset์˜ ์š”์ฒญ์„ ํ•˜๋„๋ก ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑ ํ›„
ํ•ด๋‹น ์œ ์ €์˜ User ID ๋ถ€๋ถ„๋งŒ ์šฐ๋ฆฌ๊ฐ€ ๋”ฐ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ €ํฌ์—๊ฒŒ ์š”์ฒญํ•œ๋‹ค๋ฉด..

ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ์‹คํ–‰ ์‹œ ์œ„์™€ ๊ฐ™์€ ์š”์ฒญ์„ ํ•œ๋‹ต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ ํ•„์š”ํ•œ Cookie(Ci_Session; Current User ID)์™€ newpassword(empty X)๋กœ ์ง€์ •ํ•œ ํ•˜๋ฉด ๋˜๊ฒ ์ฃ ?


All Problems

 ํ•ด๋‹น ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ„ ํ›„.. Create๋ฅผ ํ•˜๊ณ  http-only(SOP)๊ฐ™์€ ๋ฐฉ์–ด๊ธฐ๋ฒ•์ด ์—†๊ธฐ์—..(ํ•ด๋ณด๋‹ˆ๊นŒ ์—†์—ˆ์–ด์š”)
ํ•œ๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ด…์‹œ๋‹ค. ์ฐธ๊ณ ๋กœ Dreamhack tools์—์„œ ๊ฐ„๋‹จํžˆ ์ฒดํฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ์ ์šฉ๋œ ๋ชจ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”์šฑ ์ƒ์„ธํ•˜๊ฒŒ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ด…์‹œ๋‹ค.

์˜†์— Inspector๋ฅผ ์—ด์–ด์„œ ํ™•์ธํ•˜์‹œ๋ฉด ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ..
์ผ๋‹จ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด ์š”์ฒญ์„ ๋ณด๋‚ผ๋• POST์˜ ํ˜•์‹์œผ๋กœ ๋ณด๋‚ด๋ฉฐ, ์‘๋‹ต์€ GET์œผ๋กœ ํ•˜๋Š” ๋ชจ์Šต์„ ํ™•์ธ๊ฐ€๋Šฅ
์ฐธ๊ณ ๋กœ password reset๋„ ๋˜‘๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋ฉ๋‹ˆ๋‹ค.

... ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผํ• ์ง€.. ๋„ˆ๋ฌด ๊ณ ๋ฏผ๋˜๋„ค์š”
๊ทธ๋Ÿฌ๋‚˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋Œ€์ถฉ ์•„์‹œ๊ฒ ์ฃ ?
์ด ์ฝ”๋“œ๋Š”.. ๋„ˆ๋ฌด ํ˜ผ์žกํ•˜๊ธฐ๋„ ํ•˜๊ณ  ์‹คํ–‰์ด ์งœํ”ผ ์•ˆ๋˜์„œ ์—ฌ๊ธฐ์—๋Š” ์•ˆ ์˜ฌ๋ฆด๊ป˜์š”?

php ํŒŒ์ผ์„ RLI๋กœ ํ• ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ํ™•์žฅ์ž๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๊ธฐ๋„ ํ•˜๊ณ  ์•„์ง ์ œ ์‹ค๋ ฅ์œผ๋ก  ๋ถ€์กฑํ•ด์„œ
์‹œ๋„๋ฅผ ๋ชปํ–ˆ๊ณ  CSRF ๊ณต๊ฒฉ์„ ํ• ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์„œ.. ๋‚˜์ค‘์—!


Brute force

๋กœ๊ทธ์ธ ๋ถ€๋ถ„์—์„œ ๋”ฐ๋กœ ์ธ์ฆ์„ ์•ˆํ•˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
(์ด๋ฒคํŠธ๋‚˜, ์ฒ˜๋ฆฌ ๋ฐฉ์‹, ๋™์ž‘๋กœ์ง ๋“ฑ์„ ํ™•์ธํ•ด ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

 

DVWA Training - Brute Force

Brute Force(๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ) ์ •์˜ ๐Ÿ’ก์•”ํ˜ธํ•™์—์„  ํŠน์ •์•”ํ˜ธ(๋น„๋ฒˆ ๋“ฑ)์„ ํ’€๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋Š” ํ–‰์œ„ ํ•ด๋‹น ํŠน์ง•์œผ๋กœ ์ธํ•˜์—ฌ ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ๋”ฐ๋ฅธ ์˜ํ–ฅ์„ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐ›์œผ๋ฉฐ, ๋น„๋ฒˆ์˜ ๋ณต

dystopia050119.tistory.com

์—ฌ๊ธฐ์™€ ๋งค์šฐ ์œ ์‚ฌํ•œ ๋ถ€๋ถ„์ด๊ธฐ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•˜์‹œ๋ฉด password(์ œ๊ฐ€ ์ด๊ฑฐ ํ• ๋ ค๊ณ  ๋ฐ”๊ฟจ์–ด์š”)๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„..
Exploit code๋„ ์ž‘์„ฑํ• ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ alert์ฐฝ์— ์ด๋ฒคํŠธ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ์—
๋ณดํŽธ์ ์œผ๋กœ๋Š” Python์—์„œ selenium์„ ์ด์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์—ด์‹ฌํžˆ ํ•ด๋ดค๋Š”๋ฐ.. ๋ญ”๊ฐ€ ์ž˜ ์•ˆ๋˜๋„ค์š” ใ… 
์ผ๋‹จ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๋Š”๊ฑธ๋กœ ํ• ๊ป˜์š” ์ถ”ํ›„์— ๋” ๋ฐฐ์›Œ์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์•ผ๊ฒ ๋„ค์š”


์ฐธ๊ณ  ์ž๋ฃŒ

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