Показать сообщение отдельно

  #30  
Старый 11.07.2008, 20:41
Dr.Z3r0
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме:
2030482

Репутация: 1796
По умолчанию

REMOTE INCLUDE WCPS v.4.4.1
Собственно возможны и более ранние версии. Интересно какая это по счету бага в этой цмс)

1. Описание
Так вот кратенькое описание баги. Уязвим файл inc/php_function.php
PHP код:
<?php
...
//Функции для слеширования всех "лишних"  символов во всех переменных
//Как видно если мы объявим массив $_POST то массив $_COOKIE 
//слешироваться не будет. Это мы и будем использовать ниже.
elseif ( is_array($_POST)) {
  ...
}
elseif ( 
is_array($_COOKIE)) {
 ...
}
...
//Так тут у нас есть SQL injection, тк переменная $op не проверяется.
@$query="SELECT name, value from ".$wcpref."information where modular='1' OR (modular='$nma' OR modular='$op' )";
if(
$result_info MYSQL_QUERY($query)){
  ...
  while (
$line MYSQL_FETCH_ROW($result_info)){
    
//А вот и интересная строчка. В скрипте создаются глобальные переменные
    //из запроса, который мы можем модифицировать.
    
$$line[0]=$line[1];
    ...
  }
}
...
//Ну а вот и инклуд.
if(!empty($_POST['set_skinlang'])){include("$portal_root/inc/set_skinlang.php");}
//Тоесть алгоритм действий такой. Мы юзаем SQL injection после чего создается
//новое значение для переменной $portal_root после чего мы сможем инклудить
//любой файл в том числе и удаленный. 
//Но как видно из кода только, когда:
//magic_globals_gpc=off
//register_globals=on
...
?>
2. Exploit
Немного об принципе работы эксплойта. Эксплойт имеет веб интерфейс. И не трудно заметить он умеет работать как и в режиме Remote include так и Local include. Зачем?

Так вот ни для кого ни секрет что не везде разрешен удаленный инклуд. В таком случае эксплойт загружает на сервер с wcps аватарку которую впоследствии инклудит. Иначе он вынуждает wcps инклудить файл с другого сервера со специально составленным php кодом, благодаря чему на сервер загружается веб шелл, URL до которого вы также должны будете указать в настройках експлойта.

Вообщем в обеих случаях при удачной эксплуатации мы имеем вебшелл, прочитанный конфиг и логины/хеши админов.

Ну и собственно сам эксплоит:
_http://ifolder.ru/7310117 (12кб)
Pass:dflgnrmgqwef
__________________
Кто я?..

Последний раз редактировалось I-I()/Ib; 15.08.2008 в 19:28..
 
Ответить с цитированием