Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Безопасность
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Alexander-V-Sh вне форума      Старый запрет на запросы (post и Get) #1  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
09.08.2006, 05:06

В нюке есть запрет на некоторые запросы.

В майнфале, например:

foreach ($_GET as $sec_key => $secvalue) {
if((eregi("<[^>]*script*\"?[^>]*", $secvalue)) ||
(eregi("<[^>]*object*\"?[^>]*", $secvalue)) || и т.д.

Смотрел как сделано, никак не соображу. Написал:

(eregi("UNION", $secvalue)) ||

modules.php?name=News&UNION - нормально, кажит новости

modules.php?name=News&op=UNION - переводит на ошибку


Вообще от греха подальше решил заблокировать все, что на сайте не используется в ссылках. Тоесть при совпадении определенных слов и символов блокировало.

Где бы не попало в запросе (ссылке) UNION, SELECT, префиксы, INTO, аппостраф и т.д. - сразу ошибка. Пусть даже если усер в поиске введет :)

Soniks вне форума      Старый #2  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
09.08.2006, 23:35

Alexander-V-Sh а в чем вопрос?
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Alexander-V-Sh вне форума      Старый #3  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
10.08.2006, 01:54

Soniks

как правильно написать запретные слова чтобы вообще в ссылках не попадались, нигде, хоть вначале, хоть в середине, хоть как. :)

например пишу (а еще используется <[^>]* например в других строках)
(eregi("UNION", $secvalue)) ||

а modules.php?name=News&UNION нормально проходит...

Просто прочитал статейку про иньекции, где нет проверки переменных. Там как раз в строчку эта дрянь и вбивается. Проверки то ставлю, но вдруг где пропустил... модулей то и функций полно...

Или всетаки писать так :
(eregi("UNION", $secvalue)) ||
(eregi("SELECT", $secvalue)) ||
(eregi("INTO", $secvalue)) ||
(eregi("[", $secvalue)) ||
(eregi("]", $secvalue)) ||
(eregi("UPDATE", $secvalue)) ||
и т.д.

И этого достаточно чтобы блокировать нежелательные строки?
А то что modules.php?name=News&UNION проходит - ничего страшного, т.к. не угрожает, в отличч от modules.php?name=News&op=UNION, которая блокируется.

Последний раз редактировалось Alexander-V-Sh, 10.08.2006 в 16:45.

Soniks вне форума      Старый #4  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
13.08.2006, 13:37

Alexander-V-Sh этот вариант не опасен modules.php?name=News&UNION , т.к. в скрипт передается переменная UNION и она не где не используется, а вот второй вариант опасен, т.к. в переменную op передается опасный код и он может быть задействован. Что бы фильтровать не только значение переменных, а и название самих переменных передающие методом GET, то тогда надо фильтровать не сам $_GET, а $_SERVER['QUERY_STRING'] это строка запроса к скрипту. можете посмотреть как это все выволнено в Сантинеле
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запросы к бд msa Настройка и Изменение 45 11.02.2007 21:10
PHP-Nuke POST - SQL-Инъекция Soniks Уязвимости Защиты 2 22.01.2006 16:39


Часовой пояс GMT +4, время: 23:30.


На Верх
Рейтинг@Mail.ru