[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์ ๋น๋กฏํ ๋๋ ํ๋ฅผ ํตํ์ฌ ์ด๋ค ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋์ง ์ ์ ์๋๋ก ํด์ผํ ๊ฒ์ด๋ค.
์ง๋ฌธ ํ์, ์์ ๋ฐ ๋ณด์์ ๋ํ ์ง์ ํ์