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

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Безопасность > Уязвимости Защиты
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Soniks вне форума      Старый PHP-Nuke XSS нападение #1  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


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

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

Продукт: PHP-Nuke
Версия: 7.8 и ниже

Описание: В Php-Nuke найдена серьезнейшая уязвимость в профиле пользователя, позволяющая наподавшему произвести XSS нападение и получить куки пользователя, администратора!

Устранение уязвисости: запретить в настройках форума удаленных аватаров!

P.S.:Сейчас на данный момент нет времени , чуть позже напешу конкретное устранение уязвимости!
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


BuKTOp вне форума      Старый #2  
Аватара для BuKTOp
BuKTOp
Новенький
Регистрация: 24.06.2005
Сообщения: 9


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

Посмотреть профиль Отправить персональное сообщение для BuKTOp Найти все сообщения от BuKTOp Добавить BuKTOp в список друзей  
25.06.2005, 16:43

а собственно как работает Xss актака? можно тоже заострить внимание на этом. и еще как удалить эту уязвимость если я использую не Phpbb, а Ipb 1.3 ?

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


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

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

Дырка очень опасная так что фиксим все!

Открываем modules/Your_Account/index.php
Находим функцию:
PHP код:
 function avatarlinksave($avatar) {
        global 
$user_prefix$db$module_name$user$cookie;
        if (
is_user($user)) {
                
getusrinfo($user);
                
cookiedecode($user);
                include(
"header.php");
                
title("Avatar Selection Successful!");
                
OpenTable();
                
nav();
                
CloseTable();
                
OpenTable();
                
$db->sql_query("UPDATE ".$user_prefix."_users SET user_avatar='$avatar', user_avatar_type='2' WHERE username='$cookie[1]'");
                echo 
"<center><font class=\"content\">Avatar for ".$cookie[1]." Saved!</center></font><br><br>";
                if (
ereg("(http)"$avatar)) { echo "<center>Your New Avatar:<br><br><IMG alt=\"\" src=\"$avatar\"><br><br>[ <a href=\"modules.php?name=$module_name&op=edituser\">Back to Profile</a> | <a href=\"modules.php?name=$module_name\">Done</a> ]<br><br></center>"; } elseif ($avatar) { echo "<center>Your New Avatar:<br><br><IMG alt=\"\" src=\"modules/Forums/images/avatars/$avatar\"><br><br>[ <a href=\"modules.php?name=$module_name&op=edituser\">Back to Profile</a> | <a href=\"modules.php?name=$module_name\">Done</a> ]<br><br></center>"; }
                
CloseTable();
                include(
"footer.php");
        }


Заменяем на:
PHP код:
 function avatarlinksave($avatar) {
    global 
$user_prefix$db$module_name$user$cookie;
if (
is_user($user)) {
        
getusrinfo($user);
cookiedecode($user);
$error false;
     if ( !
preg_match('#^(http)|(ftp):\/\/#i'$avatar) )
        {
             
$avatar 'http://' $avatar;
        }
        if ( !
preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png))$)#is"$avatar) )
        {
                
$error true;
    include(
"header.php");
    
OpenTable();
    
nav();
    echo 
"<center><br><br><br>Не правильный формат ссылки!!<br><br>";
    echo 
_GOBACK."</center>";
    
CloseTable();
    include(
"footer.php");
                die();
        }
     
$avatar str_replace("\'""''"$avatar);
if(!
$error ){
include(
"header.php");
title("Выбранный Аватор Сохранен Удачно!");
OpenTable();
nav();
CloseTable();
OpenTable();
$db->sql_query("UPDATE ".$user_prefix."_users SET user_avatar='$avatar', user_avatar_type='2' WHERE username='$cookie[1]'");
echo 
"<center><font class=\"content\">Аватор для ".$cookie[1]." Сохранен!</center></font><br><br>";
if (
ereg("(http)"$avatar)) { echo "<center>Ваш новый Аватор:<br><br><IMG alt=\"\" src=\"$avatar\"><br><br>[ <a href=\"modules.php?name=$module_name&op=edituser\">Назад к Профилю</a> | <a href=\"modules.php?name=$module_name\">Завершить</a> ]<br><br></center>"; } elseif ($avatar) { echo "<center>Ваш новый аватор:<br><br><IMG alt=\"\" src=\"modules/Forums/images/avatars/$avatar\"><br><br>[ <a href=\"modules.php?name=$module_name&op=edituser\">Назад к Профилю</a> | <a href=\"modules.php?name=$module_name\">Завершить</a> ]<br><br></center>"; }
CloseTable();
include(
"footer.php");
}
    }



BuKTOp про XSS можно почитать в интернете, этого материало много, а насчет Ipb это все зависит как у вас встроена этот форум, если он использует эту функцию, то тогда тоже надо ее пофиксить.
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Green Bear вне форума      Старый #4  
Green Bear
Новенький
Регистрация: 01.07.2005
Сообщения: 1


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

Посмотреть профиль Отправить персональное сообщение для Green Bear Найти все сообщения от Green Bear Добавить Green Bear в список друзей  
01.07.2005, 22:39

жаль что автора уязвимости не указывают секьюрити сайты =)

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


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

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

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


Jay вне форума      Старый #6  
Аватара для Jay
Jay
Участник
Регистрация: 11.10.2005
Сообщения: 58


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

Посмотреть профиль Отправить персональное сообщение для Jay Найти все сообщения от Jay Добавить Jay в список друзей  
12.10.2005, 00:17

Soniks, не могу найти в своем modules/Your_Account/index.php этой функции - у меня стоит хак No_mail_registration - стоит беспокоиться?

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


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

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

Jay должен быть ищите получше, беспокоится стоит!
Ищете по function avatarlinksave($avatar) {
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Jay вне форума      Старый #8  
Аватара для Jay
Jay
Участник
Регистрация: 11.10.2005
Сообщения: 58


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

Посмотреть профиль Отправить персональное сообщение для Jay Найти все сообщения от Jay Добавить Jay в список друзей  
12.10.2005, 09:49

Soniks, в том-то и дело, что нет. Стндартный index.php из модуля Your_Account "весит" где-то 91 кб. А из хака No_mail_registration, которым я его заменил, - 65 кб. В этом файле вообще нет ни одного упоминания avatarlinksave. Вот так.

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


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

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

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


Jay вне форума      Старый #10  
Аватара для Jay
Jay
Участник
Регистрация: 11.10.2005
Сообщения: 58


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

Посмотреть профиль Отправить персональное сообщение для Jay Найти все сообщения от Jay Добавить Jay в список друзей  
12.10.2005, 16:26

Soniks php-nuke 7.6 +2.9
Через аккаунт установить аватар нельзя - только через профиль в форуме.

Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совмещаю PHP Nuke 7.8 и vBulletin 3.0.7 Ernest-Oleg-Iv Настройка и Изменение 5 07.01.2007 17:18
Nuke 7.9 Rus + ... нештатный форум Eurgene_I Настройка и Изменение 1 23.10.2005 05:18
пробоемы с Php nuke 7.5 rus незарегистрированный Установка 3 08.09.2005 01:20
литература по Php Lunatic Разное 5 19.08.2005 13:32


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


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