Продукт: Php-Nuke
Версия: 7.9 (и ниже)
Затронуты файлы:
- modules/Your_Account/index.php
- modules/Downloads/index.php
- modules/Web_Links/index.php
Описание:
Те кто выполнили
эти меры предосторожности, то в принципе могут спать спокойно
Описывать здесь нечего, очерездая невнимательность автора php-nuke, нет должной проверки переменных.
Устраняем уязвимость:
Открываем modules/Your_Account/index.php
Находим:
PHP код:
function login($username, $user_password, $redirect, $mode, $f, $t, $random_num, $gfx_check) {
global $setinfo, $user_prefix, $db, $module_name, $pm_login, $prefix;
Ниже добавляем:
PHP код:
$username = htmlspecialchars($username);
Открываем modules/Downloads/index.php
Находим:
PHP код:
$num_new = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_downloads_newdownload WHERE title='$title' OR url='$url' OR description='$description'"));
Заменяем на:
PHP код:
$num_new = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_downloads_newdownload WHERE title='".addslashes($title)."' OR url='".addslashes($url)."' OR description='".addslashes($description)."'"));
Открываем modules/Web_Links/index.php
Находим:
PHP код:
$num_new = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_links_newlink WHERE title='$title' OR url='$url' OR description='$description'"));
Заменяем на:
PHP код:
$num_new = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_links_newlink WHERE title='".addslashes($title)."' OR url='".addslashes($url)."' OR description='".addslashes($description)."'"));
У кого не стоит дополнительная защита, типа
NukeSentinel фиксим по быстрому, т.к. имеется експлойд, который быстренько открывает шелл, ну и на этом собственно все
.