Недостаточная фильтрация входящих данных - Форум 6uCoz
Личные сообщения ()
Новые сообщения
Участники
Правила форума
Поиск
RSS
Статистика Форума
Последние обновленные темы Самые популярные темы Лучшие пользователи Новые пользователи

Страница 1 из 11
Форум 6uCoz » Форум по DataLife Engine (DLE) » Баги-фиксы » Недостаточная фильтрация входящих данных
Недостаточная фильтрация входящих данных
Boo Дата: Четверг, 07.10.2010, 13:17 | Сообщение # 1

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

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

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

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

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

найдите:

Code
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;

замените на:
Code
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;

найдите:

Code
$source = str_replace( "`", "`", $source );

замените на:
Code
$source = preg_replace( "#<iframe#i", "<iframe", $source );
   $source = preg_replace( "#<script#i", "<script", $source );

Дистрибутив версии 8.0 обновлен.
Автор celsoft {dle-news.ru}


Форум 6uCoz » Форум по DataLife Engine (DLE) » Баги-фиксы » Недостаточная фильтрация входящих данных
Страница 1 из 11
Поиск:

6uCoz - скрипты для ucoz и шаблоны для ucoz 2012. Владельцы и создатели данного сайта не несут ответственность за использование и содержание ссылок и информации, представленных на этом сайте, а также за возможное игнорирование пользователями коммерческого статуса программного обеспечения, к которому ведут ссылки, представленные на данном сайте. Сайт оптимизирован для просмотра с разрешением 1024x768 и больше, браузером FireFox или Opera.
Sitemap | Sitemap-forum | Карта сайта | RSS
PR-CY.ru