[25.04.2005] Межсайтовый скриптинг в Invision Power Board

Удаленный пользователь может произвести XSS нападение и потенциально получить доступ к важным данным других пользователей.

Уязвимость существует при обработке входных данных в некоторых полях форм. Удаленный пользователь может с помощью специально сформированного HTTP POST запроса выполнить произвольный код в браузере жертвы.

Пример/Эксплоит:
1. Уязвимость существует в поле msg_title в менеджере частных сообщений:

"><script>alert()</script>

2. Уязвимость существует при обработке BB тегов. Удаленный пользователь может с помощью специально сформированного сообщения выполнить произвольный HTML кож в браузере жертвы. Примеры:

[pоst=[tоpic=100]
Click me!
[/tоpic]]
Click me!
[/pоst] 

Исправление:

Открыть файл ./sources/functions.php, найти

function parse_incoming()
  {
              global $ibforums;
 
          $this->get_magic_quotes = get_magic_quotes_gpc();

Добавить после:

          $_SERVER['QUERY_STRING'] = str_replace( "'", "&# 39;", $_SERVER['QUERY_STRING'] );

Открыть файл ./sources/lib/msg_functions.php, найти:

$old_title   = preg_replace( "/'/", "&# 39;", $std->txt_stripslashes($_POST['msg_title']) );

Заменить на:

$old_title   = $std->txt_htmlspecialchars($std->txt_stripslashes($_POST['msg_title']) );
 

security/2.0.x/lesscritical/25.04.2005.txt · Последние изменения: 2007/08/14 12:01 (внешнее изменение)

Работает на DokuWiki
© 2002—2006 ibresource
e-mail: wikiteam@iblink.ru