Вы не зашли.
Страницы 1
FAQ: Как сделать Детектор XSS атак используя библиотеку PHPIDS
Данная библиотека позволяет создать дополнительный слой безопасности, который работает исключительно на обнаружение попыток провести XSS атаки, mySql-инъекции, DoS () и тд. Подробнее есть на сайте библиотеки или можно поискать информацию в нете.
Порядок интеграции данной библиотеки в ядро NGCMS следующий:
1. Скачиваем библиотеку с сайта сайта
2. В папку \engine\includes\classes\ копируем папку IDS из архива (\phpids-0.6.4\lib\) со всем ее содержимым
3. У файла \engine\includes\classes\IDS\Config\Config.ini.php убрать расширение, чтобы осталось только Config.ini
4. Отредактировать файл \engine\includes\classes\IDS\Config\Config.ini как показано на картинке
5. В файл \engine\core.php, после выражения @session_start(); добавить следующий хак
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
set_include_path(get_include_path().PATH_SEPARATOR.root.'includes/classes/');
include_once 'IDS/Init.php';
$IDS_request = array(
'REQUEST' => $_REQUEST,
'GET' => $_GET,
'POST' => $_POST,
'COOKIE' => $_COOKIE
);
$IDS_init = IDS_Init::init(root.'includes/classes/IDS/Config/Config.ini');
$IDS_ids = new IDS_Monitor($IDS_request, $IDS_init);
$IDS_result = $IDS_ids->run();
if (!$IDS_result->isEmpty()) {
require_once 'IDS/Log/File.php';
require_once 'IDS/Log/Composite.php';
$IDS_compositeLog = new IDS_Log_Composite();
$IDS_compositeLog->addLogger(IDS_Log_File::getInstance($IDS_init));
$IDS_compositeLog->execute($IDS_result);
die ('hack detected');
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
Если вы сделали все правильно, то сайт продолжит работать в штатном режиме, но как только кто нибудь попробует провести атаку, ему будет выведено сообщение hack detected, а вы, просмотрев файл \engine\includes\classes\IDS\tmp\phpids_log.txt узнаете об этом.
Работает приблизительно так
Попытка провести XSS
Результат
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Там логи ведутся?
Не в сети
infinity237, \engine\includes\classes\IDS\tmp\phpids_log.txt
А еще можно логи в базу записывать или отсылать сообщения по почте
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
А можно не выводить сообщения, а просто писать в логи?
Не в сети
infinity237, можно, можно даже при каждом срабатывании отправлять сообщение на jabber, icq, телефон, звонить в церковный колокол (нужен отдельный драйвер). Да все что угодно.
Проверка наличия проблемы происходит так:
if (!$IDS_result->isEmpty()) {
}
А внутри этого блока можешь писать все что хочешь, ты ограничен только аппаратной и программной платформой сервера на котором работает твой сайт.
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Впринцепе будет интересно для параноиков.
Не в сети
Я не параноик , но есть желание использовать для комментариев какой нибудь WYSIWYG. сначала планировал использовать HTML Purifier для фильтрации пользовательского ввода, но принцип работы PHPIDS мне понравился больше, а время покажет ))) Сейчас на локалке отлично уживается с NicEdit.
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Господа модеры, подправьте пожалста ссылку в первом посте на https://phpids.org/downloads/
И еще видимо в новой версии cms, в файле core.php куда-тов другое место вставлять хак нужно.
Сделал сейчас по инструкции, так сразу при заходе на сайт пишет Hack Detected
Изменено Frankie (2013-01-23 15:43:28)
Не в сети
Страницы 1