Главная » Баг-фиксы DLE и модулей » Баг-фикс Недостаточная фильтрация входящих данных

Баг-фикс Недостаточная фильтрация входящих данных

  • Баг-фиксы DLE и модулей

Баг-фикс Недостаточная фильтрация входящих данных


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

Ошибка в версии: все версии

Степень опасности: Низкая

Ручное исправление:

Откройте файл: engine/classes/parse.class.php

найдите:
if( ((strpos( strtolower( $attrSubSet[1] ), 'expression' ) !== false) && ($attrSubSet[0] == 'style')) || (strpos( strtolower( $attrSubSet[1] ), 'javascript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'behaviour:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'vbscript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'mocha:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'data:' ) !== false and $attrSubSet[0] == "href") || ($attrSubSet[0] == "href" and strpos( strtolower( $attrSubSet[1] ), $config['admin_path'] ) !== false and preg_match( "/[?&%<\[\]]/", $attrSubSet[1] )) || (strpos( strtolower( $attrSubSet[1] ), 'livescript:' ) !== false) ) continue;


замените на:
 if( ((strpos( strtolower( $attrSubSet[1] ), 'expression' ) !== false) && ($attrSubSet[0] == 'style')) || (strpos( strtolower( $attrSubSet[1] ), 'javascript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'behaviour:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'vbscript:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'mocha:' ) !== false) || (strpos( strtolower( $attrSubSet[1] ), 'data:' ) !== false and $attrSubSet[0] == "href") || (strpos( strtolower( $attrSubSet[1] ), 'data:' ) !== false and $attrSubSet[0] == "src") || ($attrSubSet[0] == "href" and strpos( strtolower( $attrSubSet[1] ), $config['admin_path'] ) !== false and preg_match( "/[?&%<\[\]]/", $attrSubSet[1] )) || (strpos( strtolower( $attrSubSet[1] ), 'livescript:' ) !== false) ) continue;


Найдите:
$source = str_replace( "`", "&#96;", $source );


Ниже добавьте:
$source = preg_replace( "#<iframe#i", "&lt;iframe", $source );
        $source = preg_replace( "#<script#i", "&lt;script", $source );


Дистрибутив версии 8.0 обновлен.

Автор: celsoft

Ключевые слова по теме Баг-фикс Недостаточная фильтрация входящих данных: Баг-фикс, исправление, Недостаточная фильтрация входящих данных