6 - 0 - 2. php - 1 ๋๋ฆผํต ๋ฌธ์ ํ์ด
# php - 1 ๋๋ฆผํต ๋ฌธ์ ํ์ด
1. ๋ฌธ์ ํ์ธ ํ ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋
+ LFI(=Local File Inclusion) ์ทจ์ฝ์ ์ด๋?
: ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ๊ฐ์ด๋ ์์๋ฅผ '๊ฒฝ๋ก'์ ์ถ๊ฐํ๋ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ทจ์ฝ์ ์ผ๋ก, ์ฃผ๋ก php๋ก ๋ง๋ค์ด์ง ์น์ฌ์ดํธ๊ฐ ํน์ ํจ์(include,require,fopen)๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ค.
--> ์๋ฒ ์์ ์กด์ฌํ๋ ํ์ผ์ ์ ๊ทผํ๋ ๋ฐฉ์์ ํตํด ๊ณต๊ฒฉ ๊ฐ๋ฅ
2. ๋ฌธ์ ํ์ผ(index.php, list.php, main.php, view.php) ๋ถ์
+ << Line 23 ~ 26 >>
: include ํจ์๋ฅผ ์ด์ฉํ์ฌ GET ๋ฐฉ์์ผ๋ก ๋ณ์ page์ php๋ช ์ ์ ๋ ฅ๋ฐ๊ณ , ์ด์ ๋ํ main.php๋ฅผ ํธ์ถ
+ << Line 4 >>
: ๋ณ์ file์ ๊ฒฝ๋ก๋ฅผ ๋ถ์ฌํ๋ ๊ณผ์ ์์ flag ๋ฌธ์์ด์ ํํฐ๋งํ์ฌ ์ ์ ์ ํ
--> ์ ์ ์ ๋ณด์ ๋งํฌ์์ flag.php๋ฅผ ํด๋ฆญ ์ ์ ๊ทผ ๊ฑฐ๋ถ ๋ฉ์์ง๊ฐ ๋จ๋ ์ด์ ๋ก, flag ํํฐ๋ง ์ฐํ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ flag ์ ์ ๊ทผํด์ผ ํจ
3. ์ ์ ์ ๋ณด ํ์ธ ํ ์๋ด๋ ๋งํฌ๋ก ์ ์
4. List ํ์ด์ง๋ก ์ด๋ ํ flag.php์ hello.json ํด๋ฆญ
5. Home ํ์ด์ง์์ PHP Wrapper ์ข ๋ฅ ์ค ํ๋์ธ php://filter ์ ์ฌ์ฉํ์ฌ ์๋จ์ url ๋์ http://host3.dreamhack.games:18527/?page=php://filter/convert.base64-encode/resource=/var/www/uploads/flag ์ ๋ ฅ
+ ๋ฌธ์ ํด๊ฒฐ์ ์ํด PHP Wrapper ๊ธฐ๋ฅ ์ค ํ๋์ธ php://filter Wrapper์ ์ด์ฉ
PHP Wrapper์ ์ข ๋ฅ | |||||
expect:// | php://filter | zip:// | php://stdout | php://input | php://fd/[fd ์ซ์] |
--> php.filter Wrapper
:์ธ์ฝ๋ฉ๊ณผ ๋์ฝ๋ฉ ์ต์ ์ ์ด์ฉํ์ฌ ์๋ฒ ์์ ๋ฌธ์(=flag ๊ฐ) ์ด๋ ๊ฐ๋ฅ
--> resource/
: ํํฐ๋งํ ์คํธ๋ฆผ(stream)์ ๋ํ๋
--> convert.base64-encode
: ๋ฐ์ดํฐ๋ฅผ base64๋ก ์ธ์ฝ๋ฉ
6. Base64 ๋์ฝ๋๋ฅผ ํตํด ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ ๋์ฝ๋ฉ
+ Flag๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ถ๋ ฅ๋จ์ ํ์ธ
+ ์๋ฃ ์ฐธ๊ณ
'โ๏ธ Web Hacking > Dreamhack' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Dreamhack] Session ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.10 |
---|---|
[Dreamhack] Simple-SSTI ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.10 |
[Dreamhack] Proxy-1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.07 |
[Dreamhack] Blind - Command ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.03 |
[Dreamhack] Web - SSRF ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.03 |