Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Есть ли способ обойти проверку расширения файла

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Уязвимости] >> Есть ли способ обойти проверку расширения файла
Имя
Сообщение << Старые топики   Новые топики >>
Есть ли способ обойти проверку расширения файла - 2011-04-15 11:41:46.143333   
Simpliest

Сообщений: 4
Оценки: 0
Присоединился: 2011-04-15 11:33:30.213333
такая проверка
&lt;?php /*....*/ $filename=$_FILES['file']['name']; $ext=strtolower(array_pop(explode('.',$filename))); if(in_array($ext,array("jpg","bmp","png","jpeg"))){ /*....*/ } ?&gt; пробовал nullbyte аля myfile.php%00.jpg но есть одно но. почему-то файлы загружаются как $id.'_sometext'.$ext
Post #: 1
RE: Есть ли способ обойти проверку расширения файла - 2011-06-16 23:56:15.416666   
tеstеr

Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
Эту проверку не обойти. Во всяком случае с помощью nullbyte, что легко можно проверить:
php -r '$ext = strtolower(chr(0)."jpg"); if( in_array($ext, array("jpg","png")) ) { echo "hack - ext:{$ext}\n";} else { echo "no hack - ext:{$ext}\n";}'
no hack - ext:jpg

php -r '$ext = strtolower("jpg".chr(0)); if( in_array($ext, array("jpg","png")) ) { echo "hack - ext:{$ext}\n";} else { echo "no hack - ext:{$ext}\n";}'
no hack - ext:jpg

php -r '$ext = chr(0); if( in_array($ext, array("jpg","png")) ) { echo "hack - ext:{$ext}\n";} else { echo "no hack - ext:{$ext}\n";}'
no hack - ext:

php -r '$ext = NULL; if( in_array($ext, array("jpg","png")) ) { echo "hack - ext:{$ext}\n";} else { echo "no hack - ext:{$ext}\n";}'
no hack - ext:

А раз проверку не обойти и перечень расширений фиксированный, на id и sometext не повлиять, то финт с длинным именем, которое обрезается (справедливо для Windows), также не прокатит.
Post #: 2
Страниц:  [1]
Все форумы >> [Уязвимости] >> Есть ли способ обойти проверку расширения файла







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.