GiV Опубликовано 19 Июля 2005 Жалоба Поделиться Опубликовано 19 Июля 2005 Обсуждение уязвимостей Вы найдете в этой теме ------------------------------------------------------------------ Исправление уязвимостей найденных Algol с Antichat.ru Уязвимость связанная с extended тэгами , [sound] (Описание уязвимости)Уязвимы форумы: Русский модифицированный 1.2.x и 1.3.х Исправление производится в файле /sources/lib/post_parser.phpнаходим:$txt = preg_replace( "#\[video\](.+?)\[/video\]#is", "<embed width=\"400\" height=\"300\" src=\\1 type=\"application/x-shockwave-video\">", $txt ); $txt = preg_replace( "#\[sound\](.+?)\[/sound\]#is", "<param name=\"BACKGROUNDCOLOR\" <br /><embed src=\\1 align=\"baseline\" border=\"0\" width=\"275\" height=\"40\" type=\"audio/x-pn-realaudio-plugin\" console=\"Clip1\" controls=\"ControlPanel\" autostart=\"true\">", $txt );заменяем на$txt = preg_replace( "#\[video\](\S+?)\[/video\]#ies", "\$this->regex_build_src('\\1', 'video')", $txt ); $txt = preg_replace( "#\[sound\](\S+?)\[/sound\]#ies", "\$this->regex_build_src('\\1', 'sound')", $txt );и передfunction regex_build_url($url=array()) {добавляемfunction regex_build_src($src="", $type) { if (!$src) return; // clean up the ampersands $src = preg_replace( "/&/" , "&" , $src ); // Make sure we don't have a JS link $src = preg_replace( "/javascript:/i", "java script: ", $src ); // Do we have http:// at the front? if ( ! preg_match("#^(http|ftp)://#", $src ) ) { $src = 'http://'.$src; } switch ($type) { case 'video': $src="<embed width=\"400\" height=\"300\" src=\"{$src}\" type=\"application/x-shockwave-video\">"; break; case 'sound': $src="<param name=\"BACKGROUNDCOLOR\" <br /><embed src=\"{$src}\" align=\"baseline\" border=\"0\" width=\"275\" height=\"40\" type=\"audio/x-pn-realaudio-plugin\" console=\"Clip1\" controls=\"ControlPanel\" autostart=\"true\">"; break; default: return; } return $src; } Уязвимость связанная с вложением тэгов в , , (Описание уязвимости)Уязвимы форумы: IPB версий 1.х.x и 2.0.х Исправление производится в файле /sources/lib/post_parser.phpнаходим:while ( preg_match( "#\[size=([^\]]+)\](.+?)\[/size\]#ies", $txt ) ) { $txt = preg_replace( "#\[size=([^\]]+)\](.+?)\[/size\]#ies" , "\$this->regex_font_attr(array('s'=>'size','1'=>'\\1','2'=>'\\2'))", $txt ); } while ( preg_match( "#\[font=([^\]]+)\](.*?)\[/font\]#ies", $txt ) ) { $txt = preg_replace( "#\[font=([^\]]+)\](.*?)\[/font\]#ies" , "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt ); } while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#ies", $txt ) ) { $txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt ); }заменяем на:while ( preg_match( "#\[size=([0-9]+)\](.+?)\[/size\]#is", $txt ) ) { $txt = preg_replace( "#\[size=([0-9]+)\](.+?)\[/size\]#ies" , "\$this->regex_font_attr(array('s'=>'size','1'=>'\\1','2'=>'\\2'))", $txt ); } while ( preg_match( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#is", $txt ) ) { $txt = preg_replace( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#ies" , "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt ); } while( preg_match( "#\[color=([a-zA-Z]+)\](.+?)\[/color\]#is", $txt ) ) { $txt = preg_replace( "#\[color=([a-zA-Z]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt ); }Внимание: данный способ решения разрешает только стандартные теги цвета, размера и шрифта. Т.е. те теги которые есть в форме ответа. Тэги вида , , работать не будут! 17.01.2005: Официальный патч. По предварительным данным он исправляет уязвимость, указанную выше этого текста. Ссылки по теме:Описание уязвимостей с www.securitylab.ruРаздел Algol'a на Antichat.ru по уязвимостям IPB Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 19 Июля 2005 Автор Жалоба Поделиться Опубликовано 19 Июля 2005 Межсайтовый скриптинг в Invision Power Board (от 25 апреля 2005 | описание уязвимости)Уязвимы форумы: IPB версий 2.0.х Исправление производится в файле /sources/functions.php находим function parse_incoming() { global $ibforums; $this->get_magic_quotes = get_magic_quotes_gpc();Ниже вставляем: $_SERVER['QUERY_STRING'] = str_replace( "'", "'", $_SERVER['QUERY_STRING'] );Вместо ' должно быть " 39;" естественно без пробела... и в файле ./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']) ); Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 19 Июля 2005 Автор Жалоба Поделиться Опубликовано 19 Июля 2005 SQL-инъекция и межсайтовый скриптинг в Invision Power Board (от 10 мая 2005) Уязвимы форумы: IPB версий 1.3.x и 2.0.x Исправление приведено здесь Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 19 Июля 2005 Автор Жалоба Поделиться Опубликовано 19 Июля 2005 SQL-инъекция и межсайтовый скриптинг в Invision Power Board (от 10 мая 2005 | описание уязвимости | autologin ver.1)Уязвимы форумы: IPB версий 2.0.0 до 2.0.3Отсутствует проверка входных данных при отображении результатов поиска в параметре 'highlite' сценария 'sources/topics.php'.Необходимо срочно обновить версию форума до 2.0.4 (и выше) SQL-инъекция существует из-за недостаточной обработки данных в сценарии 'sources/login.php'.Исправление производится в файле sources/login.php находим$pid = $std->my_getcookie('pass_hash');заменяем на$pid = (preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):""; Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 19 Июля 2005 Автор Жалоба Поделиться Опубликовано 19 Июля 2005 SQL-инъекция в Invision Power Board (от 18 июля 2005 | описание уязвимости | autologin ver.2)Уязвимы форумы: IPB версий 1.3.x до 2.0.x Исправление производится в файле sources/login.php находим$pid = $std->my_getcookie('pass_hash');заменяем на$pid = (preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):""; Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 2 Сентября 2005 Автор Жалоба Поделиться Опубликовано 2 Сентября 2005 XSS инъекции в Custom BB Codes и Attachments (от 2 сентября 2005)Уязвимы форумы: IPB версий 2.0.х, 2.1.x Исправления производятся в файле ./sources/lib/post_parser.php (строчки: 519-520) Найти: if ( is_array( $ibforums->cache['bbcode'] ) and count( $ibforums->cache['bbcode'] ) ) { Добавить после: # XSS Clean $t = preg_replace( "#javascript\:#is", "java script:", $t ); $t = str_replace( "`" , "& #96;" , $t ); Пробел между & и # убрать! Скачать прикрепленный к этому сообщению файл и закачать его на сервер. В архиве сохранена иерархия директорий, для простоты использования. Изменение MIME-типов:Мы так же рекоммендуем Вам изменить MIME-типы некоторых опасных файлов, которые разрешены на форуме для прикрепления.Что необходимо проделать:Войти в Адинистраторскую панельВоспользоваться группой настроек Прикрепляемые файлы -> Типы прикрепляемых файловОтредактировать опции для файлов ".htm", ".html", ".txt", ".rtf", выставив в поле "MIME-тип файла" значение "unknown/unknown" (без ковычек)ipb204update.zip Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 5 Января 2006 Автор Жалоба Поделиться Опубликовано 5 Января 2006 5.01.06 IPB 2.x.x: Обновление безопасности31.01.06 Обновление безопасности в IPB 2.x.x Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 26 Апреля 2006 Жалоба Поделиться Опубликовано 26 Апреля 2006 Исправление от 25 апреля 2006 года (для IPB 2.0.x—2.1.x): «Обновление безопасности в IPB 2.x.x (25.04.06)». Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 19 Мая 2006 Жалоба Поделиться Опубликовано 19 Мая 2006 Исправление от 16 мая 2006 года (для IPB 2.0.x—2.1.x): «Обновление безопасности в IPB 2.x.x (16.05.06)». Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 22 Июня 2006 Автор Жалоба Поделиться Опубликовано 22 Июня 2006 Исправление от 19 июня 2006 года (для IPB 2.1.x) «Обновление безопасности в IPB 2.1.x (19.06.06)». Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 30 Июня 2006 Автор Жалоба Поделиться Опубликовано 30 Июня 2006 Исправление от 29 июня 2006 года (для IPB 2.1.x) «Обновление безопасности в IPB 2.1.x (29.06.06)». Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 13 Августа 2006 Жалоба Поделиться Опубликовано 13 Августа 2006 Исправление от 10 августа 2006 года (для IPB 2.0.x—2.1.x): «Обновление безопасности в IPB 2.1.x (10.08.06)». Дубль решения (для обоих линеек Invision Power Board): IPB 2.1.x:Файл /sources/lib/func_topic_threaded.php, найти: //----------------------------------------- // Are we viewing Posts? //----------------------------------------- $post_id = intval($this->ipsclass->input['pid']);заменить на: //----------------------------------------- // Are we viewing Posts? //----------------------------------------- $post_id = intval($this->ipsclass->input['pid']); if($post_id && !in_array($post_id, $this->pids)) { $this->ipsclass->Error( array( LEVEL => 1, MSG => 'missing_files') ); }IPB 2.0.x:Файл ./sources/lib/topic_threaded.php, найти: //----------------------------------------- // Are we viewing Posts? //----------------------------------------- $post_id = intval($ibforums->input['pid']);заменить на: //----------------------------------------- // Are we viewing Posts? //----------------------------------------- $post_id = intval($ibforums->input['pid']); if($post_id && !in_array($post_id, $this->pids)) { $std->Error( array( LEVEL => 1, MSG => 'missing_files') ); } Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 5 Октября 2006 Жалоба Поделиться Опубликовано 5 Октября 2006 Исправление от 5 октября 2006 года (для IPB 2.1.x): Файл ./sources/action_admin/member.php, найти: //----------------------------------------- // Avatar? //----------------------------------------- if ( $r['avatar_location'] and $r['avatar_type'] ) { $avatar = $this->ipsclass->get_avatar( $r['avatar_location'], 1, '25x25', $r['avatar_type'] ); if ( ! strstr( $avatar, 'width=' ) ) { $avatar = str_replace( '<img', "<img width='25' height='25'", $avatar ); } } else { $avatar = "<img src='{$this->ipsclass->skin_url}/images/memsearch_head.gif' border='0' />"; }заменить на: //----------------------------------------- // Avatar? //----------------------------------------- //----------------------------------------- // SECURITY UPDATE: Removing user avatar //----------------------------------------- $avatar = "<img src='{$this->ipsclass->skin_url}/images/memsearch_head.gif' border='0' />"; Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 17 Октября 2006 Жалоба Поделиться Опубликовано 17 Октября 2006 Исправление от 17 октября 2006 года (для IPB 2.1.x) Файл: ./sources/classes/bbcode/class_bbcode_core.php;Приоритет: средний. Функция: regex_check_image;Строка 924;Найти:$default = "[img=".$url."]";Заменить на:$default = "[img=".str_replace( '[', ' 091;', $url )."]";Найти:if ( preg_match( "/[?&;]/", $url) )Заменить на:if ( preg_match( "/[?&;\<\[]/", $url) ) Функция: post_db_parse_bbcode;Строка: 486;Найти:preg_match_all( "#(\[$preg_tag\])((?!\[/$preg_tag\]).+?)?(\[/$preg_tag\])#si", $t, $match );Заменить на:preg_match_all( "#(\[$preg_tag\])((?!\[/$preg_tag\]).+?)?(\[/$preg_tag\])#si", $t, $match ); if ( $row['bbcode_tag'] == 'snapback' ) { $match[2][$i] = intval( $match[2][$i] ); } Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 9 Ноября 2006 Жалоба Поделиться Опубликовано 9 Ноября 2006 Незначительное замечание по безопасности: «IP.Board 2.0.0—2.1.7: Замечание по безопасности».Все версии IP.Board 2.0.0—2.1.7 имеют инструмент отладки SQL, позволяющий администраторам просматривать отладочную SQL-информацию. Это может быть полезно при диагностике проблем с базой, запросами и т.п. В то же время отладчик представляет существенный риск для безопасности Вашего форума. Благодаря ему злоумышленник может получить данные, которые могут быть использованы для взлома форума. Поэтому важно, чтобы SQL-отладчик был постоянно отключен, если в нем нет необходимости. Вы можете отключить его следующим образом:Админцентр -> НАСТРОЙКИ -> Системные настройки -> Глобальные настройкиПосле этого Вам необходимо напротив настройки «Включить режим отладки SQL?» установить значение «Нет». Заметим, что в стандартной поставке IP.Board этот пункт отключен по умолчанию. Если Вы не производили изменений в группе «Глобальные настройки», то Вам ничего не нужно изменять. Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 26 Апреля 2007 Автор Жалоба Поделиться Опубликовано 26 Апреля 2007 Уязвимости в 2.1.х и 2.2.х от 26.04.2007 Описание и исправление для версий:2.1.x2.2.x Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 3 Июня 2007 Жалоба Поделиться Опубликовано 3 Июня 2007 Исправление от 30 мая 2007 года (для IPB 2.2.x): «Обновление безопасности в IPB 2.2.х (30.05.2007)».ipb_220_30_May_Update.zip Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 19 Июня 2007 Жалоба Поделиться Опубликовано 19 Июня 2007 Исправление от 11 июня 2007 года (для IPB 2.2.x) Файл ./sources/action_public/xmlout.php, найти (в функции «profile_save_settings»): if( !$this->ipsclass->member['g_edit_profile'] ) { @header( "Content-type: text/plain" ); $this->class_ajax->print_nocache_headers(); print 'error'; exit(); }Добавить после: //----------------------------------------- // Not the same member? //----------------------------------------- if ( ! $this->ipsclass->member['g_is_supmod'] ) { if ( $member_id != $this->ipsclass->member['id'] ) { $this->class_ajax->print_nocache_headers(); $this->class_ajax->return_string( 'error' ); } }ipb22x_11_june_07.zip Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 12 Сентября 2007 Автор Жалоба Поделиться Опубликовано 12 Сентября 2007 Специфические уязвимости в IP.Board 2.3.х от 12.09.2007 Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 26 Апреля 2008 Жалоба Поделиться Опубликовано 26 Апреля 2008 XSS уязвимость в BB-кодах IP.Board версий 2.3.x от 20.02.08. XSS уязвимость в BB-кодах IP.Board версий 2.3.x от 13.03.2008.+ Устранение потенциальной опасности при использовании flash на форуме. Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 1 Февраля 2009 Жалоба Поделиться Опубликовано 1 Февраля 2009 Обновление безопасности Invision Power Board 2.2.x-2.3.x. Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения