Показать сообщение отдельно
Soniks вне форума      Старый PHPNuke SQL Иньекция -> удаленные команды #1  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


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

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

Продукт: 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 фиксим по быстрому, т.к. имеется експлойд, который быстренько открывает шелл, ну и на этом собственно все .
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".