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๋ฅผ ํ๋ํ๋ค.