[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: file_exists
Leon_20120
Здравствуйте, возможно взломать сайт через функцию file_exists?

$inc = 'server/'.$_GET['php'].'.php'; // Путь к скрипту
if(!file_exists(''.$inc.'')) // Проверяем есть ли файл на сервере
{
exit(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/server/no.php'));
//если нету выводим ошибку
}


Может конечно вопрос глупый...
Просто если не фильтровать данные попадаемые в бд то ее можно просто удалить, выдернуть из нее что хочешь и так далие.
А тут получается что пользователь может что хочешь отправить гет запросом - и будет проверяться есть ли файл такой на сервере - так вот а можно составить какойто запрос к апачу через этот file_exists, чтоб функция работала по другому, типа заливка файла на сервер, скачка файла и так далие...?
m4a1fox
Leon_20120
нет.
Leon_20120
А если сразу подключать файл, не проверяя есть он на сервере или нет, можно как то взломать сайт?

include ($_SERVER['DOCUMENT_ROOT'].'/server/'.$_GET['php'].'.php');

killer8080
Leon_20120
file_exists тут ни причем, эта уязвимость называется LFI
Leon_20120

include ($_SERVER['DOCUMENT_ROOT'].'/server/'.$_GET['php'].'.php');

эта уязвимость называется LFI?
и что можно сотворить через нее?
killer8080
Цитата (Leon_20120 @ 13.10.2012 - 16:44)
эта уязвимость называется LFI?

Да
Цитата (Leon_20120 @ 13.10.2012 - 16:44)
и что можно сотворить через нее?

В лучшем случае, проинклюдить любой файл, доступный php на чтение, с раширением .php.
В худшем случае, если не установлен сухошин патч, или отключены "волшебные кавычки", тогда любой файл, с любым расширением.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.