|
|
|
| Допустип есть абстрактная CMS, распространяемая по какой-либо open-source лицензии. И исходный код в этом случае (вместе со структурой папок) доступен любому человеку, в том числе и злоумышленнику.
У этой CMS есть функция конекта к базе данных, а аутентификационную информацию эта функция берет из файла "db_config.php"
В этом случае злоумышленник может получить полный доступ к базе данных своей жертвы, следующим образом:
Записывает исходник функции коннекта к базе данных в отдельный файл на свой сервак, а аутентификационную информацию подключает через
include 'http://userCMS.ru/db_config.php';
|
и воспользовавшишь такой функцией у него появляется возможность отправлять БД жертвы любые запросы.
Даже в случае если у жертвы в файле db_config.php стоит
if(defined('CMS'))
{
// аутентификационные данные для БД
}
else die('Защита от хакеров');
|
он просто в свое скрипте перед использованием данного файла пишет DEFINE('CMS', true); и дальше делает что угодно.
Таким же способом, зная архитектуру CMS он может получать доступ к любым файлам сервера.
Вопрос: как обеспечить безопасность всем файлам только средствами php.
(варианты типа ложить файлы вне root дирректории или использовать .htaccess не подойдут) | |
|
|
|
|
|
|
|
для: kaoz
(15.05.2006 в 13:52)
| | Прежде чем столько написать, вы попробовали все это проделать?
Попробуйте. Сдается мне, ваш "вопросик" тут же отпадет. | |
|
|
|
|
|
|
|
для: Loki
(15.05.2006 в 14:02)
| | к сожалению работает :(
может это настройки сервака такие? | |
|
|
|
|
|
|
|
для: kaoz
(15.05.2006 в 15:05)
| | Что за CMS используется? | |
|
|
|
|
|
|
|
для: kaoz
(15.05.2006 в 15:05)
| | НЕ верю!
Таким образом, он получит только результаты работы скрипта, а не доступ к БД. | |
|
|
|
|
|
|
|
для: kaoz
(15.05.2006 в 13:52)
| | Если CMS позволяет загружать сторонние PHP-файлы - ей пользоваться не нужно, так как злоумышленику не понадобиться даже ничего писать - имеются стандартные PHPShell, которые позволят за пять минут не оставить камня на камне от сайта. Он просто помотрит параметры внутри файла db_config.php - введёт их в PHPShell и файлы сайта ему больше будут не нужены, какой бы защитой они не обладали - дальше он обойдётся своими силами.
При работе с загружаемыми файлами - основная задача ни в коем случае не допустить загрузки исполняемых скриптов на сайт.
Обычно чтобы предотвратить такой поворт, в директорию с файлами помещают .htaccess следующего содержания
<FilesMatch ~"\.(php|phtml|php3|pl|html|htm|js)$">
order allow,deny
deny from all
</Files>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.05.2006 в 15:07)
| | с этим дело уже разобрались, это все неправильные настройки MS IIS.
спасибо за дискуссию
2Loki: именно как я описал так и работало =) | |
|
|
|