» » SQL – инъекция в DLE-Forum v.2.4

SQL – инъекция в DLE-Forum v.2.4

В DataLife Engine Forum v.2.4 есть уязвимость, которая позволяет выполнять запросы в бд, и узнавать любую инфу, например о логинах и о паролях.
У кого стоит данная версия форума, рекомендуется проверить на уязвимость:
ваш_сайт.ру/?do=forum&showtopic=-
1+union+select+1,2,CONCAT_WS(0x3a,name,password),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23+from+dle_users+where+user_group=1+limit+1-- ,


Если ВАш сайт уязвим, то в заголовке страницы будет отображен логин, и хеш пароля.
Уязвимость находится в скрипте engine/forum/sources/components/init.php в 446 строке!

<font color=#0000FF>if</font> (<font color=#660000>$_REQUEST</font>['category'])
{
<font color=#660000>$act</font><font color=#8000FF> = </font>'category';<font color=#660000>$cid</font> =<font color=#660000>$_REQUEST</font>['category'];

<font color=#660000>$t_act</font><font color=#8000FF> = </font>'?c'.<font color=#660000>$cid</font>;
}
<font color=#0000FF>if</font> (<font color=#660000>$_REQUEST</font>['showforum'])
{
<font color=#660000>$act</font><font color=#8000FF> = </font>'forum';

<font color=#660000>$fid</font><font color=#8000FF> = </font><font color=#660000>$_REQUEST</font>['showforum'];

<font color=#660000>$t_act</font><font color=#8000FF> = </font>'?f'.<font color=#660000>$fid</font>;
}

<font color=#0000FF>if</font> (<font color=#660000>$_REQUEST</font>['showtopic'])
{
<font color=#660000>$act</font><font color=#8000FF> = </font>'topic';

<font color=#660000>$tid</font><font color=#8000FF> = </font><font color=#660000>$_REQUEST</font>['showtopic'];

<font color=#660000>$t_act</font><font color=#8000FF> = </font>'?t'.<font color=#660000>$tid</font>;
}


Данный код необходимо заменить на:

<font color=#0000FF>if</font> (<font color=#660000>$_REQUEST</font>['category'])
{
<font color=#660000>$act</font><font color=#8000FF> = </font>'category';
<font color=#660000>$cid</font><font color=#8000FF> = </font>intval(<font color=#660000>$_REQUEST</font>['category']);
<font color=#660000>$t_act</font><font color=#8000FF> = </font>'?c'.<font color=#660000>$cid</font>;
}
<font color=#0000FF>if</font> (<font color=#660000>$_REQUEST</font>['showforum']) 
{
<font color=#660000>$act</font><font color=#8000FF> = </font>'forum';

<font color=#660000>$fid</font><font color=#8000FF> = </font>intval(<font color=#660000>$_REQUEST</font>['showforum']);
<font color=#660000>$t_act</font><font color=#8000FF> = </font>'?f'.<font color=#660000>$fid</font>;
}
<font color=#0000FF>if</font> (<font color=#660000>$_REQUEST</font>['showtopic'])
{
<font color=#660000>$act</font><font color=#8000FF> = </font>'topic';
<font color=#660000>$tid</font><font color=#8000FF> = </font>intval(<font color=#660000>$_REQUEST</font>['showtopic']);
<font color=#660000>$t_act</font><font color=#8000FF> = </font>'?t'.<font color=#660000>$tid</font>;
}

Комментарии

Интегрировал свой дле с ипб3 и не жалею, а по теме: __http://savgroup.ru/others/75-uluchshenie-zashhity.html Тут ещё парочку фиксов.

TipTop

Администраторы 12 июня 2010 21:29
Чем популярнее двиг тем больше желающих его поиметь am

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Личные сообщения

Ваши переписки