Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Компьютер для продвинутых пользоватлей Выпус по безопасности. Ошибка в phpNuke.


Компьютер для продвинутых пользователей
Содержание:
phpNuke
ПО: phpNuke
Версии: 6.0 - 7.8

О программе:
PHP-Nuke - новая автоматизированная система, специализированная для дизайнеров для использования в Интранете и Интернете. Администратор получает полный контроль над своим web-сайтом, регистрацией пользователей, и использованием блоков для заголовка, утилит для обслуживания и 100% интерактивности web-сайта.
Уязвимость:
Потенциально уязвимый XSS баг найден в phpNuke. Все версии с 6.0 и до 7.2 подвержены заражению. Версия 7.9 не тестировалась на баг, но возможно ошибка содержится и в ней. Как и при выборе любых XSS ошибок, эта имеет множество путей использования, например похищения cookies.
Детали:
Как обычно в phpNuke мире, проблема находится в переменной - "$pagetitle". Это глобальная переменная используется для перемещения заголовка страницы в модуль рабочего кода, находящегося в функции "head()" в файле "header.php".
Просмотрим листинг ресурса header.php:
<@--
function head() {
global $slogan, $sitename, $banners, $nukeurl, $Version_Num, $artpage, $topic,
$hlpfile, $user, $hr, $theme, $cookie, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4,
$textcolor1, $textcolor2, $forumpage, $adminpage, $userpage, $pagetitle;
include("includes/ipban.php");
$ThemeSel = get_theme();
include("themes/$ThemeSel/theme.php");
echo "\n";
echo "\n";
echo "test".
и мы видим, что html-инъекция возможна.
Теперь переходим к трудной части - как вставить скрипт в код? phpNuke использует некоторые анти-XSS фильтры против инъекций, прямая атака через "" и другие обычные теги не пройдет. Так, как обычно, можно поискать пути обхода фильтра и после мы имеем некоторое время для осуществления инъекций, я нахожу возможность:
http://localhost/nuke78/?pagetitle=kala Этот метод был протестирован на трех браузерах - IE 6.0, Firefox 1.5.0.1 и Opera 8.51. Причем фильтры был обойден.
Способ защиты:
Перепишите код в "mainfile.php":
$pagetitle = '';
Это устранит недостатки.

phpNuke
Рассылка создана и ведется при поддержке Информационной сети Пермского края.

В избранное