Баг-фикс Критическая уязвимость в Dle-forum v.2.4
В DataLife Engine Forum 2.4 обнаружена уязвимость, которая позволяет злоумышленникам выполнять запросы в бд, и узнавать любую информацию и в последствии получать доступ к сайту.
Критичность: высокая
Версия форума: DataLife Engine Forum 2.4
У кого стоит данная версия форума, рекомендуется проверить на уязвимость:
Если Ваш сайт уязвим, то в заголовке страницы будет отображен логин, и хеш пароля (далее объяснять не буду, специалисты поймут!).
Уязвимость находится в скрипте engine/forum/sources/components/init.php в 446 строке!
Данный код необходимо заменить на:
Критичность: высокая
Версия форума: 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>;
}