Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

#1 2010-06-29 17:40:59

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Детектор XSS атак

FAQ: Как сделать Детектор XSS атак используя библиотеку PHPIDS

Данная библиотека позволяет создать дополнительный слой безопасности, который работает исключительно на обнаружение попыток провести XSS атаки, mySql-инъекции, DoS () и тд. Подробнее есть на сайте библиотеки или можно поискать информацию в нете.

Порядок интеграции данной библиотеки в ядро NGCMS следующий:
1. Скачиваем библиотеку с сайта сайта

http://photoload.ru/data/14/f8/cd/14f8cd45a237a84ea297c161dfde9181_pv.png

2. В папку \engine\includes\classes\ копируем папку IDS из архива (\phpids-0.6.4\lib\) со всем ее содержимым

http://photoload.ru/data/51/95/a9/5195a97bc3c5b1aa552b5acfbfa299af_pv.png

3. У файла \engine\includes\classes\IDS\Config\Config.ini.php убрать расширение, чтобы осталось только Config.ini

http://photoload.ru/data/ca/49/32/ca493252190fa4c5e96754b43c291e53_pv.png

4. Отредактировать файл \engine\includes\classes\IDS\Config\Config.ini как показано на картинке

http://photoload.ru/data/cc/f9/81/ccf98104e56ef4ff142f61fb9fdea9da_pv.png

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');
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////

http://photoload.ru/data/1d/27/b5/1d27b512b6affe1eb18182344636b92a_pv.png

Если вы сделали все правильно, то сайт продолжит работать в штатном режиме, но как только кто нибудь попробует провести атаку, ему будет выведено сообщение hack detected, а вы, просмотрев файл \engine\includes\classes\IDS\tmp\phpids_log.txt узнаете об этом.

Работает приблизительно так

Попытка провести XSS

http://photoload.ru/data/77/fb/a0/77fba05e5ad99e98d7b85b2309733c6e_pv.png

Результат

http://photoload.ru/data/c3/4f/fd/c34ffdcd5f38394c8303b3062e318f75_pv.png


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#2 2010-06-29 17:53:50

Trashcka
Пользователь
Откуда: КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1487
Рейтинг :   73 
Профиль

Re: Детектор XSS атак

Amarelius, ооооо, как раз на днях смотрела эту библиотеку )) данке

Неактивен

 

#3 2010-06-29 19:14:18

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

Re: Детектор XSS атак

Там логи ведутся?

Неактивен

 

#4 2010-06-29 19:58:18

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Re: Детектор XSS атак

infinity237,  \engine\includes\classes\IDS\tmp\phpids_log.txt
А еще можно логи в базу записывать или отсылать сообщения по почте


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#5 2010-06-29 20:04:55

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

Re: Детектор XSS атак

А можно не выводить сообщения, а просто писать в логи?

Неактивен

 

#6 2010-06-29 20:26:08

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Re: Детектор XSS атак

infinity237, можно, можно даже при каждом срабатывании отправлять сообщение на jabber, icq, телефон, звонить в церковный колокол (нужен отдельный драйвер). Да все что угодно.

Проверка наличия проблемы происходит так:

Код:

if (!$IDS_result->isEmpty()) {
}

А внутри этого блока можешь писать все что хочешь, ты ограничен только аппаратной и программной платформой сервера на котором работает твой сайт.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#7 2010-06-29 20:27:38

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

Re: Детектор XSS атак

Впринцепе будет интересно для параноиков. big_smile

Неактивен

 

#8 2010-06-29 23:00:04

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Re: Детектор XSS атак

Я не параноик wink , но есть желание использовать для комментариев какой нибудь WYSIWYG. сначала планировал использовать HTML Purifier для фильтрации пользовательского ввода, но принцип работы PHPIDS мне понравился больше, а время покажет ))) Сейчас на локалке отлично уживается с NicEdit.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#9 2013-01-23 15:20:42

Frankie
Пользователь
Зарегистрирован: 2010-04-04
Сообщений: 38
Рейтинг :   
Профиль  Вебсайт

Re: Детектор XSS атак

Господа модеры, подправьте пожалста ссылку в первом посте на https://phpids.org/downloads/

И еще видимо в новой  версии cms, в файле core.php куда-тов другое место вставлять хак нужно.

Сделал сейчас по инструкции, так сразу при заходе на сайт пишет Hack Detected

Отредактированно Frankie (2013-01-23 15:43:28)

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.009 seconds, 17 queries executed ]