์ธ์ฆ / ์ธ๊ฐ ์ทจ์ฝ์
์ธ์ฆ
์ธ์ฆ(Athentication)์ด๋, ๊ทธ ์ฌ๋์ด ๋ณธ์ธ์ด ๋ง๋์ง ํ์ธํ๋ ๊ฒ์ด๋ค.
ํํ ๋น๋ฐ๋ฒํธ๋, ์ธ์ฆ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ ๊ณผ์ ๋ฑ์ด ์ด์ ํด๋นํ๋๋ฐ, ๋ค๋ฅธ ์ด์ฉ์๊ฐ ์์ง ๋ชปํ๋ ๋ณธ์ธ๋ง ์๋ ์ ๋ณด๋ฅผ ํตํด ๋ณธ์ธ์์ ํ์ธํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ธ์ฆ ์ทจ์ฝ์ ์ ์ธ์ฆ ๊ณผ์ ์์ ์ผ์ด๋๋ ์ทจ์ฝ์ ์ผ๋ก์, ์ธ์ฆ์ ๋ฌด์ํ๋ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ ๊ฒ์ ์๋ฏธํ๋ค.
์ธ๊ฐ
์ธ๊ฐ(Athorization)๋, ํน์ ์ฌ๋์๊ฒ ํน์ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด๋ค.
์ด์ฉ์๋ง๋ค ๊ฐ๊ฐ์ ํด๋นํ๋ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด๋ค. ๊ถํ ๊ฐ์๋ ๊ฐ๋ฅํ ๊ฒ์ ์ฐจ์ด๊ฐ ์กด์ฌํ๊ณ , ์๋๋ ํ์ง ๋ชปํด์ผํ๋ ์ด์ฉ์๊ฐ ์์์ ๊ถํ์ ํด๋นํ๋ ๊ฒ์ ํ ์ ์๋ ๊ฒฝ์ฐ์ ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ธ๊ฐ ์ทจ์ฝ์ ์ ํด๋น ์ ์ ๊ฐ ์๋๋ ํ์ง ๋ชปํด์ผ ํ๋๊ฑธ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ์ทจ์ฝ์ ์ด๋ค.
ex) ๊ด๋ฆฌ์๋ง ๊ฐ๋ฅํ ๊ฒ์ ์ผ๋ฐ ์ ์ ๊ฐ ํ ์ ์๋ ๊ฒฝ์ฐ
์ธ์ฆ ์ทจ์ฝ์ ์ ๋ํ ์ผ์ด์ค
1. Cookie๋ฅผ ํตํด ์ธ์ฆํ๋ ์ผ์ด์ค
์ฟ ํค(Cookie)์ ๊ฐ์ด ํด๋ผ์ด์ธํธ ์ธก ์ ๋ณด(ํ๋ผ๋ฏธํฐ)๋ฅผ ํตํด์ ์ธ์ฆํ๋ ๊ฒฝ์ฐ์ ๋ฌธ์ ๊ฐ ๋๋ค. ํด๋ผ์ด์ธํธ ์ธก ์ ๋ณด๋ฅผ ์ ๋ขฐํ์ฌ ์ธ์ฆ์ ํ๊ฒ๋๋ฉด, ๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ก๊ทธ์ธ ํ ์ฌ์ฉ์์ ์ธ์ฆ์ Cookie๋ฅผ ํตํด ํ๋ ๊ฒฝ์ฐ, ์๋ฒ์์ ์ด Cookie๋ฅผ ๋ฐํ์ผ๋ก ์ฌ์ฉ์๊ฐ ๋๊ตฌ์ธ์ง ์๋ณํ๊ณ ๊ทธ์ ๋ง๋ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ๋ณ์กฐํ์ฌ ๋ค๋ฅธ ์ด์ฉ์์ธ ๊ฒ์ฒ๋ผ ์ธ์ฆ ๊ณผ์ ์ ์ฐํํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
ํด๋ผ์ด์ธํธ ์ธก ์ธ์ฆ์ ํ๋ค๋ ๊ฒ์ ์๋ฌผ์ ์ ํจ๊ป ์ด์ ๋ฅผ ๊ฑธ์ด๋ ๊ฒ์ด๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.๐
[SegFault] (Authentication Bypass) - Get Admin
์์ ๋ฌธ์ ์ ๊ฒฝ์ฐ ์ฟ ํค ๋ณ์กฐ๋ฅผ ํตํด ๊ด๋ฆฌ์ ๊ถํ์ด ์ทจ๋ ๊ฐ๋ฅํ ์ธ์ฆ ์ทจ์ฝ์ ์ด๋ค.
2. Process ์ ํ (์ง์ ์ ๊ทผ)
Process๋ฅผ ๋ฐ์ด๋์ด ์ง์ (direct) ์ ๊ทผ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ณธ์ธ ์ธ์ฆ์ ์ฐํํ๋ ๊ฒฝ์ฐ์ ๋ง์ด ์ฌ์ฉ๋๋ค.
์๋ ๋ณธ์ธ์ธ์ฆ ์ ์ฐจ๋ฅผ ๊ฑฐ์ณ์, ์ดํ์ ํ์ด์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค๋ฉด Process๋ฅผ ๋๊ธฐ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ๋ค์ํ์ด์ง๋ก์ ๊ฒฝ๋ก๋ฅผ ์ง์ ์ ๋ ฅํจ์ผ๋ก์จ ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค. ์ธ์ฆ ๋ ์ฌ์ฉ์์ธ์ง ํ์ธํ๋ ์ ์ฐจ๋ฅผ ๋ฌด์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ธ์ฆ์ ํ ํ์ ์์ฒด๊ฐ ์์ด์ง๋ ๊ฒ์ด๋ค.
์ด๋ฐ ๊ฒฝ์ฐ์๋, ์ด๋ป๊ฒ ์๊ฐํด์ผํ ๊น?
์ธ์ฆ์ ๋ฐ์ด ๋์๊ธฐ ๋๋ฌธ์ ์ธ์ฆ ์ทจ์ฝ์ ์ด๋ผ๊ณ ํด์ผํ๋๊ฐ? ์๋ ๋ชปํ๋ ๊ฑด๋ฐ ํ ์ ์์๊ธฐ ๋๋ฌธ์ ์ธ๊ฐ ์ทจ์ฝ์ ์ด๋ผ๊ณ ํด์ผํ๋๊ฐ?
์ฌ๊ธฐ์๋ ๋์๋ฐฉ์์ ๋ํ์ฌ ์๊ฐํด๋ด์ผ ํ๋ค.
๋์ ๋ฐฉ์์ ์ธ์ฆ์ ๋ฐ์ด ๋์ด์ ๋ฐ์ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๊ณ ์น๊ฒ ํ๋ค๋ ์๊ฐ์ ํ๋ฉด ์ธ์ฆ ์ทจ์ฝ์ ์ด ๋ง๋ค๋ ๊ฒ์ด๋ค.
[SegFault] (Authentication Bypass) - PIN Code Bypass
์์ ๋ฌธ์ ์ ๊ฒฝ์ฐ ์ธ์ฆ ์ทจ์ฝ์ ๊ณผ ํจ๊ป, ์ธ๊ฐ ์ทจ์ฝ์ ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌํ ์ ์๋ค.
์ธ์ฆ · ์ธ๊ฐ ์ทจ์ฝ์ ์ ๊ฒฝ์ฐ ์ด๋์ ๋ ์ฃผ๊ด์ด ๋ค์ด๊ฐ๋ ๋ถ๋ถ์ผ๋ก์, ์ค๋ช ๋ง ํ ์ ์๋ค๋ฉด ์ทจ์ฝ์ ์ผ๋ก ์ก์ ์ ์๋ค.
3. ์๋ต ๊ฐ ๋ณ์กฐ
์๋ต ๋ณ์กฐ๋ฅผ ํตํด ์ธ์ฆ์ ๋ฌด์ํ๋ ๊ฒฝ์ฐ์ด๋ค. Burp์ responseMod ๋ฅผ ํตํด ์๋ต์ ๋ณ์กฐํ๋ ๊ฒ์ผ๋ก์ ํด๋ผ์ด์ธํธ ์ธก ์ ์ด๋ฅผ ํ๋ ๊ฒ์ด๋ค.
์๋ต์ ์กด์ฌํ๋ ํ๋ผ๋ฏธํฐ(Parameter)์ ๊ฐ์ ์์ ํ๊ฑฐ๋, Javascript๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ์ฌ, ์ธ์ฆ์ ๋ฌด์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.
[SegFault] (Authentication Bypass) - Admin is Mine
4. ์ธ์ฆ ํ์ ์ ํ X
๋น๋ฐ๋ฒํธ ํ์ ์ ํ์ด ๋ฏธํกํ ๊ฒฝ์ฐ์๋ ์ธ์ฆ ์ทจ์ฝ์ ์ผ๋ก ์ก๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ธ๋ฃจํธํฌ์ค(BruteForce) ๋ฌด์์ ๋์ ๊ณต๊ฒฉ์ ๋ํ์ฌ ์ทจ์ฝํ๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค.
[SegFault] (Authentication Bypass) - Pin Code Crack
Brute Force (๋ฌด์์ ๋์ ๊ณต๊ฒฉ)์ ๊ฒฝ์ฐ, ๊ฐ์ ๊ณ์ํด์ ๋ณ๊ฒฝํ๋ฉด์ ์ฌ๋ฌ๋ฒ ์๋ํ๋ ๊ณต๊ฒฉ์ด๋ค.
๊ทธ๋ฐ๋ฐ, ์ธ์ฆ ํ์์ ์ ํ์ด ์๋ค๋ฉด, ์ด๋ ํด๋น ๊ณต๊ฒฉ์ ๋ณด๋ค ์ทจ์ฝํด์ง๋ ๊ฒ์ผ๋ก์, ์ผ์ ํ์ ์ด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ์์๋ ์ผ์ ์๊ฐ ์ธ์ฆ์ด ๋ถ๊ฐ๋ฅ ํ๋๋ก ํ๊ฑฐ๋, ๋ค๋ฅธ ์ธ์ฆ ์๋จ์ ์ฌ์ฉํ๋๋ก ํด์ผํ๋ค.
์ธ๊ฐ ์ทจ์ฝ์ ์ผ์ด์ค
์ธ๊ฐ ์ฐํ์ ๊ฒฝ์ฐ ํ๋ผ๋ฏธํฐ ๋ณ์กฐ์ ์ง์ ์ ๊ทผ์ด ์ผ๋ฐ์ ์ธ ์ ๋ต์ด๋ค.
1. ์ฃผ์์ผ๋ก ์ ๊ทผ ์ ํ
(์ฃผ์์ ๋จ๊ฒจ์ง ํ์ด์ง๋ฅผ ์ด์ฉํ๋ค.)
์ฃผ์ / css / display:none ๋ฑ์ผ๋ก ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ
์ฃผ์์ด๋ css์ ๊ฐ์ ๊ฒ๋ค์ ์ด์ฉํ์ฌ ํน์ ์ด์ฉ์์๊ฒ๋ง ํน์ ์์๋ค์ด ๋ณด์ด๋๋ก ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ์๋, ์ฃผ์ ๋๋ ์์ฑ์ ์ ๊ฑฐํ๋ ์๋ต ๋ณ์กฐ๋ฅผ ํตํด ์ฐํ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ํ ์ฃผ์ ์ฒ๋ฆฌ๋์ด ์๋ ๊ฒฝ๋ก๊ฐ ์๋ ๊ฒฝ์ฐ, ํด๋น ๊ฒฝ๋ก๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํ์ฌ ์ฃผ์์ฐฝ์ ๋ฃ์ด ์ฃผ๋ ๊ฒฝ์ฐ์๋ ์ฐํ๊ฐ ๊ฐ๋ฅํ ๊ฒฝ์ฐ๊ฐ ์๋ค.
ํ๋ก ํธ์๋์์ ๋๋ฌด ๋ง์ ๊ฒ์ ์ฒ๋ฆฌํ๋ ค๊ณ ํ๋ฉด ๋ฌธ์ ๊ฐ ์๋ค๋ ๋ฐ์ฆ์ด๋ค.
[SegFault] (Authorization) - authorization 1
2. ์ธ๊ฐ ํ์ธ์ ํด๋ผ์ด์ธํธ ์ธก์์ ํ๋ ๊ฒฝ์ฐ
(JS (ํด๋ผ์ด์ธํธ) ์ฐํ)
์ธ๊ฐ ํ์ธ(Check)์ ํด๋ผ์ด์ธํธ ์ธก์์ ํ๊ณ ์๋ ๊ฒฝ์ฐ์๋ ์คํ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ(Javascript)๋ก ์ฐพ์๊ฐ ์ ์์ด์ผ ํ๋ค. ์คํ๋๋ ์ฝ๋๋ฅผ ์ฐพ์๋ด๊ฒ ๋๋ฉด ๋ถ์์ ํตํด ์๋ํ์ง ์๊ฒ ๊ถํ์ ์ป์ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
ํด๋ผ์ด์ธํธ ์ธก์์ ์ ๊ฒํ๋ ๊ฒ์ ํธ์์ฑ์ ์ํด์๋ง ํด์ผํ๋ค.
์ธ์ฆ๊ณผ ๊ถํ์ ํด๋ผ์ด์ธํธ ์ธก์์ ํ์ธํ๋ ๊ฒฝ์ฐ ์ฐํ๊ฐ ๊ฐ๋ฅํ๋ค. ๊ถํ์ ํ์ธ, ๊ฒ์ฌ, ๊ฒ์ฆํ๋ ๊ฒ์ ํด๋ผ์ด์ธํธ(Client)์ธก์์ ํ ๊ฒ ์๋๋ผ ์๋ฒ(Server) ์ธก์์ ์ฒ๋ฆฌํด์ผํ๋ค๋ ๊ฒ์ด๋ค.
ํด๋ฆญํ์ ๋, ๊ถํ์ ๋๊ฐ ํ์ธํ๋์ง๋ฅผ ๋ด์ผํ๋ค. ์๋ฒ๊ฐ ํ์ธํ๋ ๊ฒ์ธ์ง, ํด๋ผ์ด์ธํธ ์ธก์์ ํ์ธํ๋ ๊ฒ์ธ์ง๋ฅผ ํ์ธํด์ผํ๋ค.
๋ฒํผ์ ๋๋ ์ ๋ Burp์์ ์๋ฌด๊ฒ๋ ๋จ์ง ์๋ ๋ค๋ ๊ฒ์ ์๋ฒ๋ก ๊ฐ๊ณ ์๋ ์์ฒญ์ด ์๋ค๋ ๊ฒ์ด๋ค.
์ฆ, ์ธ๊ฐ๋ฅผ ์๋ฒ์์ ์ฒ๋ฆฌํ๋ ๊ฒ ์๋๋ผ๋ ๊ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฒดํฌํ๊ณ ์๋ ๊ฒ์ผ๋ก์ ํด๋ผ์ด์ธํธ(Client) ์ธก ์ด๋๊ฐ์ ์ธ๊ฐ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ์ฝ๋๊ฐ ์์ฑ๋์ด ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ฆฌ๋ฒ์ฑ์ ํตํด ํด๋น ๋ฒํผ์ ๋๋ ์ ๋ ์ด๋ค Javascript๊ฐ ์คํ๋๋์ง ํ์ธํด๋ด์ผ ํ๋ค.
ํด๋น ํ์ด์ง์์ ํจ์๊ฐ ์ ์ธ๋์ด ์๋ ๊ณณ์ด ์๋ค๋ฉด? Javascript์์ ์ ์ธ๋์ด ์์ ๊ฒ์ด๋ผ๋ ์๊ฐ์ ํด์ผํ๋ค. script์ ๋ก๋๋ฅผ ํ์ธํด๋ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
[SegFault] (Authorization) - authorization 2
[SegFault] (Authorization) - authorization 3
3. ์ง์ ์ ๊ทผ (๊ธฐ๋ฅํ์ด์ง์ ์ง์ ์ ๊ทผ)
์ง์ ์ ๊ทผ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ๋ต์ค์ ํ๋๋ก, ํด๋น ๊ฒฝ๋ก๋ก ์ง์ ์ ์ธ ์ ๊ทผ์ ์๋ํ๋ ๊ฒฝ์ฐ์ ์ฐํ๊ฐ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ด๋ค.
[SegFault] (Authorization) - authorization 4
[SegFault] (Authorization) - authorization 5
4. ๋๋ ํ ๋ถ์
๋๋ ํ ๋์ด ์๋ค๊ณ ์ฝ์ด๋ด์ง ๋ชปํ๋ ๊ฒ์ด ์๋๋ค.
์ ์ ๋ถ์ : ์คํํ์ง ์๊ณ , ์ฝ๋๋ฅผ ์ฝ์ผ๋ฉด์ ๋ถ์
๋์ ๋ถ์ : (๋ถ๊ธฐ๋ฌธ์ ์ค์ ์ผ๋ก)์ฝ๋๋ฅผ ์ง์ ์คํํด๋ณด๋ฉด์ ๋ถ์
5. Guessing ๊ณต๊ฒฉ
๊ฐ์ฅ ๋ง์ด ๋์ค๋ ์ผ์ด์ค๊ฐ ์ด๊ฒ์ด๋ค.
๋์ ๋ณด์ด๋ ๊ฒ์ด ์ ๋ถ๋ ์๋๊ธฐ ๋๋ฌธ์ ์จ๊ฒจ์ง ๋๋ ํ ๋ฆฌ(Directory)๋ Elements๋ฅผ ์ฐพ์๋ด๊ธฐ ์ํด์ ๋ง์ด ์ฌ์ฉ๋๋ ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ด๋ URL์ ํ๋ผ๋ฏธํฐ๋ค์ ๋ณด๊ณ "์ด๋ฐ ๊ฒฝ๋ก์ด์ง ์์๊น?", "์ด๋ฐ ํ์ผ์ด ์์ง ์์๊น?", "์ด๋ฐ ํ๋ผ๋ฏธํฐ์ ๊ฒฝ์ฐ ์ด๋ฐ์์ผ๋ก ๋์ํ์ง ์์๊น?" ๋ฑ์ ์ถ์ธก์ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
๊ถํ์ ๋ฐ๋ผ (๋ฒํผ์ด๋ ๋ฌด์ธ๊ฐ๊ฐ ์๋) ํ์ด์ง๋ฅผ ๋ฐ๋ก ๋ง๋๋ ๊ฒ์ด ์๋๋ผ ๊ถํ์ ๋ฐ๋ผ ๋์ ์๋ณด์ด๋ ๊ฒ์ด ๋ง๋ค๋ ๊ฒ์ด๋ค. ๋ํ ๊ฒฝ๋ก, ์ด๋ฆ, ๋ฑ์ด ์ถ์ธก(Guessing)์ ํตํด์ ๋๋ ค ๋งํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๋ ๊ฒ์ด๋ค.
์ฆ, ์ถ์ธก์ ํตํด ๋ถ์ฌ๋์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์๋ ๊ธฐ๋ฅ(๊ถํ)์ ์ป๊ฒ ๋ ์ ์๋ค๋ ๊ฒ์ด๋ค.
6. ํ๋ผ๋ฏธํฐ ๋ณ์กฐ
์ธ๊ฐ ์ทจ์ฝ์ ์ ๋ค๋ฃฐ ๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐฉ์์ผ๋ก ํ๋ผ๋ฏธํฐ ๋ณ์กฐ๋ฅผ ํตํด ๊ถํ์ด ์๋ ํ์ด์ง์ ์ ๊ทผํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ํด๋นํ๋ค.
[SegFault] (Authorization) - authorization 6
์ง๋ฌธ ํ์, ์์ ๋ฐ ๋ณด์์ ๋ํ ์ง์ ํ์