8Dle
Авторизация

Фильтруем уязвимость в dle 8.2 и в раних версиях

Фильтруем уязвимость в dle 8.2 и в раних версиях

Уязвимость заключается в отсутствии фильтрации входного параметра "dle_skin" в файле init.php и позволяет удалённому пользователю добиться вывода ошибки функции, соответственно увидев пути к корню сайта.

Warning: include_once(/home/.../public_html/templates/..//login.tpl): failed to open stream: No such file or directory in /home/.../public_html/engine/init.php on line 272 Warning: include_once(): Failed opening '/home/.../public_html/templates/..//login.tpl' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/.../public_html/engine/init.php on line 272 Невозможно загрузить шаблон: shortstory.tpl



что позволяет раскрытие пути взломщику?
ответ прост, взлом через соседний хост, т.е. если сайт находится на шаред хостинге, шанс на взлом увеличивается

init.php
} elseif (isset($_COOKIE['dle_skin']) AND $_COOKIE['dle_skin'] != '') {

    if (@is_dir(ROOT_DIR.'/templates/'.$_COOKIE['dle_skin']))
        {
            $config['skin'] = $_COOKIE['dle_skin'];
        }
}
...
$tpl->dir = ROOT_DIR.'/templates/'.$config['skin'];
...
include_once $tpl->dir.'/login.tpl';

Достаточно в бразере найти менеджер куки и подменить куку dle_skin параметром ../ и вы получите сие раскрытый путь :)

Исправить данную уязвимость просто
открываем index.php
перед
define ( 'DATALIFEENGINE', true );
вставляем кодик
if (eregi("..", $_COOKIE['dle_skin']) or eregi("../", $_COOKIE['dle_skin'])) { unset($_COOKIE['dle_skin']);  }


коментирую код: если есть какие либо вхождения набора символов .. или ../ то удаляем куки dle_skin

Жмите на Кнопу ниже, или подписывайтесь!


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


Dle это движок который изначально проектировался для создания новостных сайтов, но по мере своего развития движка значительно расширил свою функциональность и стал универсальным средством разработки и сопровождения сайтов и блогов различной направленности и тематики. По сравнению с другими бесплатными (и некоторыми платными) CMS системами движок dle обладает довольно обширными возможности.

Авторизация