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

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












Для исправления откройте файл 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 ) );
Другие новости по теме:

Категория: Баги ----- Просмотров: 2068 ----- Комментариев: 1

Вернуться

  • Группа: User
  • ICQ: 288569677
  • Регистрация: 21.01.2008
  • Комментариев: 703
  • Публикаций: 245
^
Так походу Модуль Переходы 9.2 Final Release уже есть, наверное стоит ставить новую версию и не заморачиватся.
Там эти баги поправлены.
Надеюся, что уже какая то хрень не залезит.
bully

--------------------