Инфо Недостаточная фильтрация данных (багфиксы DLE)

killoff

CD тихо, и не DVD меня ;)
Команда форума
Модератор
Регистрация
13 Май 2008
Сообщения
2.592
Реакции
1.104
  • Автор темы
  • Модер.
  • #1
Давно уже не было фиксов подобных.

Проблема: Недостаточная фильтрация данных.

Ошибка в версии: 11.1 и ниже

Степень опасности: Высокая

Для исправления откройте файл: /engine/classes/parse.class.php и найдите:
PHP:
        if( preg_match( "/[?&;%<\[\]]/", $url ) ) {

            if( $align != "" ) return "[img=" . $align . "]" . $url . "[/img]";
            else return "[img]" . $url . "[/img]";

        }

замените на
PHP:
        if( preg_match( "/[?&;%<\[\]]/", $url ) ) {

            return $matches[0];

        }

Для просмотра ссылки Войди или Зарегистрируйся

PS 11.2 тоже относится, и архивы уже обновлены на офф сайте.

PSS этот кусок кода использовался в ДЛЕ начиная с версии 7.5
 
Последнее редактирование:

ZloMac

Создатель
Регистрация
24 Фев 2015
Сообщения
14
Реакции
5
а можно как-то использовать данный баг?)
 

killoff

CD тихо, и не DVD меня ;)
Команда форума
Модератор
Регистрация
13 Май 2008
Сообщения
2.592
Реакции
1.104
  • Автор темы
  • Модер.
  • #3

latteo

Эффективное использование PHP, MySQL
Регистрация
27 Фев 2008
Сообщения
1.603
Реакции
1.565

killoff

CD тихо, и не DVD меня ;)
Команда форума
Модератор
Регистрация
13 Май 2008
Сообщения
2.592
Реакции
1.104
  • Автор темы
  • Модер.
  • #7
Проблема: Недостаточная фильтрация данных.
Ошибка в версии: 11.2 и ниже
Степень опасности: Высокая

Для исправления откройте файл: /engine/go.php и найдите:
PHP:
$url = @str_replace ( "&amp;", "&", $url );
ниже добавьте
PHP:
$url = htmlspecialchars( $url, ENT_QUOTES, $config['charset'] );
$url = str_replace ( "&amp;", "&", $url );
 

slva2000

Постоялец
Регистрация
26 Ноя 2007
Сообщения
106
Реакции
49
По первому багу - мускуль инъекция "можно" провести... Только коммент там экранируется здорово, и мне так и не удалось.

По второму - JS xss. Безобидно, или почти бестолково.
 

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.523
По второму - JS xss. Безобидно, или почти бестолково.
Ох, мой милый друг... Сколько ж людей так же заблуждалось...

Через JS XSS можно подгрузить произвольный JS, который от имени пользователя отправит запросы на удаление всех статей. к примеру. Если пользователь админ - после F5 он увидит, а точнее, не увидит ни одной записи на сайте...
А можно хитро поправить, вставив рекламу во все новости, отредактировать шаблон... Да по сути, у тебя полный доступ в админку - только команды напиши...

Но таки да, большинство уверены, что XSS опасна только кражей куков и привязка по IP спасёт...
 

killoff

CD тихо, и не DVD меня ;)
Команда форума
Модератор
Регистрация
13 Май 2008
Сообщения
2.592
Реакции
1.104
  • Автор темы
  • Модер.
  • #10
Проблема: Недостаточная фильтрация данных в Jquery плагине Masha JS входящем в состав DLE.

Ошибка в версии: 11.3 и ниже

Степень опасности: Высокая

Для исправления скачайте и скопируйте на свой сервер патч: Для просмотра ссылки Войди или Зарегистрируйся

После чего очистите кеш браузера, и кеш скрипта в админпанели. Данный патч предназначен для версии 11.3 и всех версий ниже 11.3.
 
Сверху