Уязвимость модуля переходы. Недостаточная фильтрация в модуле Переходы.

Уязвимость модуля переходы. Недостаточная фильтрация в модуле Переходы.

Ошибка в версии: все версии
Степень опасности: Высокая
Подробнее о исправлении в полной новости…Уязвимость модуля переходы. Недостаточная фильтрация в модуле Переходы.

Ошибка в версии: все версии
Степень опасности: Высокая

Подробнее о исправлении.

Для исправления откройте файл engine/modules/referer.php и найдите:


if(preg_match(«/[<][/a-zA-Z]+(.*?)[>]/», urldecode(rawurldecode($http_referer)))) {
die ( «Переход заблокирован, перенаправление:<br /><br />Пожалуйста, нажмите <a href=»{$request_uri}»>сюда</a>.» );
}

Ниже добавьте:


if(preg_match(«/[<][/a-zA-Z]+(.*?)[>]/», urldecode(rawurldecode($request_uri)))) {
die ( «Переход заблокирован, перенаправление:<br /><br />Пожалуйста, нажмите <a href=»{$config[‘http_home_url’]}»>сюда</a>.» );
}

if(preg_match(«/[<][/a-zA-Z]+(.*?)[>]/», $_SERVER[‘HTTP_USER_AGENT’])) {
die ( «Переход заблокирован, перенаправление:<br /><br />Пожалуйста, нажмите <a href=»{$config[‘http_home_url’]}»>сюда</a>.» );
}

Немного ниже найдите:


if (checkurl($http_referer) != «false») {

ВЫШЕ добавьте:


$request_uri = $db->safesql( trim( htmlspecialchars( strip_tags( $request_uri ) ) ) );

Ниже найдите:


$rblock = str_replace( ‘[slink]’, «<a href=»».$row[‘uri’].»»>», $rblock );

Замените на:


    $rblock = str_replace( ‘[slink]’, «<a href=»».strip_tags($row[‘uri’]).»»>», $rblock );

Найдите:


$user_agent = $_SERVER[‘HTTP_USER_AGENT’];

Замените на:


$user_agent = @$db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_SERVER[‘HTTP_USER_AGENT’] ) ) ), ENT_QUOTES ) );

Статья взята из открытых источников: http://dle-solutions.ru/dle/bags/208-nedostatochnaya-filtraciya-v-module-perehody.html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *