Недостатня фільтрація вхідних даних

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

Помилка у версії: 8.0 і нижче

Ступінь небезпеки: Низька

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

Відкрийте файл: 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( “`”, “`”, $source );
Нижче додайте:
$source = preg_replace( “#
Дистрибутив версії 8.0 оновлено.
59