Dleshka.org
Авторизация

Баг-фикс Критическая уязвимость в Dle-forum v.2.4

0
TipTop 13-07-2010 Баг-фиксы DLE 1 комментарий
В DataLife Engine Forum 2.4 обнаружена уязвимость, которая позволяет злоумышленникам выполнять запросы в бд, и узнавать любую информацию и в последствии получать доступ к сайту.

Критичность: высокая
Версия форума: DataLife Engine Forum 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>;
}
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
web-alexx
15 июля 2010 06:11
+ 0 -
а если SQL ошибка вылазиет?
Авторизация