Внимание! Разработчики DataLife Engine в который раз пропустили в коде серьезную уязвимость. Степень опасность высокая в версиях DLE 11.1 и ниже. В последний раз подобная уязвимость, позволяла получить полный доступ к базе данных MySQL, тем самым злоумышлении могли править базу данных MySQL и добавлять любую информацию, обходить защиту на сайте, получать права администратора, добавлять любой код в новости и т.д., подробнее об этом читаем здесь "Взлом DLE".
Проблема: Недостаточная фильтрация данных.
Ошибка в версии: 11.1 и ниже
Степень опасности: Высокая
Для исправления откройте файл: /engine/classes/parse.class.php и найдите:
if( preg_match( "/[?&;%<\[\]]/", $url ) ) {
if( $align != "" ) return "[img=" . $align . "]" . $url . "[/img]";
else return "[img]" . $url . "[/img]";
}
замените на
if( preg_match( "/[?&;%<\[\]]/", $url ) ) {
return $matches[0];
}
Информация с официального сайта DLE-News
Комментарии 4