Archive for Dev. (junyup2)

์ง€์‹์„ ์ฑ„์›Œ๊ฐ€๋Š” ใ€Ž๊ฐœ๋ฐœ์ž/ํ™”์ดํŠธํ•ด์ปคใ€๋ฅผ ๋ชฉํ‘œ๋กœ ์ •๋ฆฌํ•˜๋Š” ๋ธ”๋กœ๊ทธ

Wargame & CTF/SegFault

[SegFault] (Authentication Bypass) - Get Admin

Gearvirus(junyup2) 2023. 12. 6. 03:50

[SegFault] Authentication Bypass (Admin)

Get Admin.

admin ๊ณ„์ •์œผ๋กœ ์ ‘์†ํ•˜์ž!

๋ฌธ์ œ ํŒŒ์•…

  • ์œ„์˜ ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.
  • ์•Œ๊ณ  ์žˆ๋Š” ๊ณ„์ • :  [ID/PW] : doldol / dol1234

  • Burp Suite์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์ดํŠธ ์ ‘์† ๊ณผ์ •์˜ ์ƒํƒœ์ฝ”๋“œ(Status code) ํ™•์ธํ•œ๋‹ค.
    • 302 Found 
    • 200 OK
  • ๋กœ๊ทธ์ธ ๊ณผ์ •์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด, ๋จผ์ € ์•Œ๊ณ  ์žˆ๋Š” ์ •๋ณด๋กœ ๋กœ๊ทธ์ธ ํ•ด๋ณธ๋‹ค.

 

  • ๋กœ๊ทธ์ธ ๊ณผ์ •์˜ ์ƒํƒœ์ฝ”๋“œ(Status code) ํ™•์ธํ•œ๋‹ค.
    • 302 Found : Cookie๋ฅผ ๋ฐ›์•„์˜ด
    • 200 OK : ์ •์ƒ์ ์ธ ์‘๋‹ต

  • ์š”์ฒญ(Request)๊ณผ ์‘๋‹ต(Response)๋ฅผ ์‚ดํŽด๋ณด์ž !

  • ์š”์ฒญ(Requset)์—์„œ POST ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ /2/login.php ๊ฒฝ๋กœ์— UserId=doldol&Password=dol1234&Submit=Login๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์‘๋‹ต(Response)์—์„œ Set-Cookie: loginUser=doldol๋ฅผ ํ†ตํ•ด, ์ฟ ํ‚ค์— loginUser๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. (302 Found) 

์š”์ฒญ(Request)์—์„œ Cookie: loginUser=doldol; PHPSESSID=45hs924ul387071rdmravugibm; session=6818eebb-0a66-4e0f-846f-d27946576245.ho6LPTAuTVqgiZwYLUOk37Up6A4 ๋ฅผ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.


์ƒ๊ฐ ๊ณผ์ •

์ƒ๊ฐ๊ณผ์ •
1. ๋กœ๊ทธ์ธ ๊ณผ์ •์—์„œ ์ฟ ํ‚ค์— loginUser๋ฅผ ๋‹ด๋Š”๊ตฌ๋‚˜!
2. ์ฟ ํ‚ค ์ธ์ฆ์ด๊ตฌ๋‚˜ ! (์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ ์ •๋ณด๋‹ˆ๊นŒ ์กฐ์ž‘์ด ๊ฐ€๋Šฅ)
3. ์ด๊ฒƒ์„ admin์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์ž.

ํ’€์ด ๊ณผ์ • (ํ•ด๊ฒฐ ๋ฐฉ์•ˆ)

1. Intercept On ์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

2. ์žฌ์š”์ฒญ(Request) : ์ƒˆ๋กœ ๊ณ ์นจ(ํŽ˜์ด์ง€ ๋ฆฌ๋กœ๋”ฉ)ํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ์žฌ์š”์ฒญ ํ•ด์ค€๋‹ค.

3. Intercept ์—์„œ loginUser=admin ๋กœ ๊ณ ์ณ์ค€ ํ›„ Forward ํ•ด์ค€๋‹ค.

4. ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๋ฐ ํžˆ์Šคํ† ๋ฆฌ(HTTP history)๋ฅผ ํ™•์ธ ํ•ด๋ณด์ž !

  • Edited ์— ์ฒดํฌ๋œ ์ƒํƒœ(์š”์ฒญ์ด ์ˆ˜์ •๋œ ์ƒํƒœ)์˜ ์‘๋‹ต์ž„์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

5. ํ™”๋ฉด์— Congrat!!! Flag ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


์ทจ์•ฝ์ ์— ๊ด€ํ•œ ๊ณ ์ฐฐ

๋ณธ ๋ฌธ์ œ์—์„œ๋Š” ์ฟ ํ‚ค์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ loginUser ์™€ ๊ฐ™์€ ๊ถŒํ•œ ๊ด€๋ จ ๊ฐ’์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค.
ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ์ธ์ฆ ์ทจ์•ฝ์ ์œผ๋กœ์„œ, ์ฟ ํ‚ค ๋ณ€์กฐ๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์ทจ๋“ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์ด๋‹ค.

์ธ์ฆ ์ทจ์•ฝ์ ์˜ ๋Œ€ํ‘œ ์ผ€์ด์Šค๋กœ์„œ Cookie๋ฅผ ํ†ตํ•œ ์ธ์ฆ, ์ฆ‰ ํด๋ผ์ด์–ธํŠธ ์ธก ์ •๋ณด(ํŒŒ๋ผ๋ฏธํ„ฐ)๋ฅผ ํ†ตํ•ด์„œ ์ธ์ฆํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
ํด๋ผ์ด์–ธํŠธ ์ธก ์ •๋ณด๋ฅผ ์‹ ๋ขฐํ•ด์„œ ์ธ์ฆ์„ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋น„์œ ํ•˜์ž๋ฉด, ์ž๋ฌผ์‡ ์™€ ํ•จ๊ป˜ ์—ด์‡ ๋ฅผ ๊ฑธ์–ด๋‘” ๊ฒƒ์ด๋‚˜ ๋งˆ์ฐฌ๊ฐ€์ง€์ธ ๊ฒƒ์ด๋‹ค.

์ธ์ฆ์— ์žˆ์–ด์„œ ์ฟ ํ‚ค์˜ ์‚ฌ์šฉ์€ ํƒˆ์ทจ ๋ฐ ๋ณ€์กฐ์— ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์œผ๋ฉฐ, ์‚ฌ์šฉํ•˜๋”๋ผ๋„ Token์„ ๋น„๋กฏํ•œ ๋‚œ๋…ํ™”๋ฅผ ํ†ตํ•˜์—ฌ ์–ด๋–ค ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋„๋ก ํ•ด์•ผํ•  ๊ฒƒ์ด๋‹ค.

์งˆ๋ฌธ ํ™˜์˜, ์ˆ˜์ • ๋ฐ ๋ณด์™„์— ๋Œ€ํ•œ ์ง€์  ํ™˜์˜