apache htaccess ์ค์ ๊ด๋ จ ์ทจ์ฝ์ ๋ฌธ์ ์ด๋ค.
๋ฉ์ธ ํ์ด์ง์๋ ์๋ ์ฒ๋ผ ํ์ผ์ ์
๋ก๋ ํ ์ ์๋ ๊ธฐ๋ฅ์ด์๋ค.
์์ค์ฝ๋์์๋ php ๊ด๋ จ ํ์ฅ์๋ค์ ์ ํํ๊ณ ์๋ค.
| <?php |
| $deniedExts = array("php", "php3", "php4", "php5", "pht", "phtml"); |
| . |
| . |
| . |
| $temp = explode(".", $name); |
| $extension = end($temp); |
| |
| if(in_array($extension, $deniedExts)){ |
| die($extension . " extension file is not allowed to upload ! "); |
| |
| . |
| . |
| . |
์์ค์ ํฌํจ๋ apache ์ค์ ํ์ผ์ธ 000-default.conf ํ์ผ์ ์ดํด๋ณด๋ฉด AllowOverride ์ต์
์ด All๋ก ์ค์ ๋์ด์๋ค.
| <Directory /var/www/html/> |
| AllowOverride All |
| Require all granted |
| </Directory> |
AllowOverride ์ต์
์ ๋๋ ํ ๋ฆฌ์ ์ค์ ๋ด์ฉ์ ๋ณ๋์ ์ธ๋ถํ์ผ(.htaccess)์์ ๋ฎ์ด์ธ ์ ์๋์ง๋ฅผ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ์ต์
์ด๋ค.
AllowOverride ์ต์
์ด All๋ก ์ค์ ๋์ด์์ด, ํ์ผ์ด ์
๋ก๋๋๋ /upload ๊ฒฝ๋ก์ .htaccess ํ์ผ์ ์
๋ก๋ํ์ฌ .txt ํ์ฅ์๊ฐ php ํ๋ก๊ทธ๋จ์ผ๋ก ์ธ์ํ๊ฒ ๋ง๋ค ์ ์๋ค.
.txt ํ์ฅ์๋ฅผ php ํ๋ก๊ทธ๋จ์ผ๋ก ์ธ์ํ๊ฒ ๋ง๋ค์ด php์ system ํจ์๋ฅผ ์คํํ๋ ์ฝ๋๋ฅผ ๋ณด๋ด์ด ์คํ ๊ถํ๋ง ์ค์ ๋ /flag ๋ฅผ ์คํํ์ฌ flag๋ฅผ ํ๋ํ๋ค.
๋๊ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.