Ymaz Опубликовано 10 Мая 2006 Жалоба Поделиться Опубликовано 10 Мая 2006 Добрый день всемВерсия форума 2.0.4.Все заплатки ставил, что есть на этом форуме в соотвествующих темах. Но сегодня показали вот такую дырку: [EMAIL]a@[URL]http://123.com=``style=`background:url('java script:alert(/holla/)');`a=a/[/URL]a[/EMAIL][/QUOTE] работает прислали в пм, появляется алерт сообщение с сообщением "holla"как лечить?где латать?спасибо Ссылка на комментарий Поделиться на других сайтах Прочее
yarweb Опубликовано 10 Мая 2006 Жалоба Поделиться Опубликовано 10 Мая 2006 2.0.x + все заплатки => не прокатило Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 10 Мая 2006 Жалоба Поделиться Опубликовано 10 Мая 2006 2.0.x + все заплатки => не прокатилоАналогично!2.0.4 + все заплатки в этой теме - ничё не выскакивает. Ссылка на комментарий Поделиться на других сайтах Прочее
ВасилОК Опубликовано 11 Мая 2006 Жалоба Поделиться Опубликовано 11 Мая 2006 Отключить тег email. По-другому никак не закрыть. Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 11 Мая 2006 Жалоба Поделиться Опубликовано 11 Мая 2006 исправления по этой дыре уже были в это же темеи дааавно уже Ссылка на комментарий Поделиться на других сайтах Прочее
Ymaz Опубликовано 19 Мая 2006 Жалоба Поделиться Опубликовано 19 Мая 2006 Дырка с тегом е-мэйл лечится так:Уязвимости форумов Invision Power Board (ссылка на пост в этом топике)спасибо GiV Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 19 Мая 2006 Жалоба Поделиться Опубликовано 19 Мая 2006 рубьяткив носотях последняя уязвимостьдайте ручное испрвление для 204, а то там запостили только для 216пасиба Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 19 Мая 2006 Жалоба Поделиться Опубликовано 19 Мая 2006 (изменено) Обновление 2.0.х касается двух файлов: moderate.phpнайти кодif ($ibforums->input['df']) { $html_forums = preg_replace( "/<option value=\"".$ibforums->input['df']."\"/", "<option value=\"".$ibforums->input['df']."\" selected", $html_forums );и заменить на if ($ibforums->input['df']) { $html_forums = preg_replace( "/<option value=\"".intval($ibforums->input['df'])."\"/", "<option value=\"".$ibforums->input['df']."\" selected", $html_forums );post.phpнайти кодfunction html_post_icons($post_icon="") { global $ibforums; if ($ibforums->input['iconid']) { $post_icon = $ibforums->input['iconid']; } $ibforums->lang['the_max_length'] = $ibforums->vars['max_post_length'] * 1024; $html = $this->html->PostIcons(); if ($post_icon) { $html = preg_replace( "/name=[\"']iconid[\"']\s*value=[\"']$post_icon\s?[\"']/", "name='iconid' value='$post_icon' checked", $html ); $html = preg_replace( "/name=[\"']iconid[\"']\s*value=[\"']0[\"']\s*checked=['\"]checked['\"]/i" , "name='iconid' value='0'", $html ); } return $html; }и заменить наfunction html_post_icons($post_icon="") { global $ibforums; if ($ibforums->input['iconid']) { $post_icon = $ibforums->input['iconid']; } $ibforums->lang['the_max_length'] = $ibforums->vars['max_post_length'] * 1024; $html = $this->html->PostIcons(); if ($post_icon) { $html = preg_replace( "/name=[\"']iconid[\"']\s*value=[\"']".intval($post_icon)."\s?[\"']/", "name='iconid' value='$post_icon' checked", $html ); $html = preg_replace( "/name=[\"']iconid[\"']\s*value=[\"']0[\"']\s*checked=['\"]checked['\"]/i" , "name='iconid' value='0'", $html ); } return $html; } Изменено 19 Мая 2006 пользователем -=MIF=- Ссылка на комментарий Поделиться на других сайтах Прочее
siemens Опубликовано 19 Мая 2006 Жалоба Поделиться Опубликовано 19 Мая 2006 сделайте и ля 2.0 исправление которые от 16 мая,чтобы точно нормально было Ссылка на комментарий Поделиться на других сайтах Прочее
Dr.Freddy Опубликовано 20 Мая 2006 Жалоба Поделиться Опубликовано 20 Мая 2006 Оно и так «точно нормально». Выше приведена инструкция. Ссылка на комментарий Поделиться на других сайтах Прочее
SHiSH Опубликовано 20 Мая 2006 Жалоба Поделиться Опубликовано 20 Мая 2006 про 1,3,1 тишина? Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 20 Мая 2006 Жалоба Поделиться Опубликовано 20 Мая 2006 там нет такого бреда слава богу Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 Обновление безопасности для 2.1.х от 19.06.2006 от Брендона (bfarber) =================================================================== --- /Library/WebServer/Documents/invisionboard/sources/classes/bbcode/class_bbcode.php (revision 275) +++ /Library/WebServer/Documents/invisionboard/sources/classes/bbcode/class_bbcode.php (revision 314) @@ -111,15 +111,21 @@ $txt = preg_replace( "/<br>|<br \/>/", "\n", $txt ); - # XSS Clean - if( $this->strip_hex_entity ) + # XSS Clean (Disabled, better fix found) + /*if ( $this->strip_hex_entity ) { - while( preg_match( "/[&|&\;]#x(\w+?);/i", $txt ) ) + preg_match_all( "/(?:&|&\;)#x(\w+?);/i", $txt, $match ); + + for ( $i=0; $i < count($match[0]); $i++ ) { - $txt = preg_replace( "/[&|&\;]#x(\w+?);/ies" , "\$this->regex_bash_hex( '\\1' )" , $txt ); + $_all = $match[0][ $i ]; + $_hex = $this->regex_bash_hex( $match[1][ $i ] ); + + $txt = str_replace( $_all, $_hex, $txt ); } + $txt = preg_replace( "#&(?!\;)#", "", $txt ); - } + }*/ # First we did hex, now we do url encoded # <script =================================================================== Index: /Library/WebServer/Documents/invisionboard/sources/classes/bbcode/class_bbcode_core.php =================================================================== --- /Library/WebServer/Documents/invisionboard/sources/classes/bbcode/class_bbcode_core.php (revision 293) +++ /Library/WebServer/Documents/invisionboard/sources/classes/bbcode/class_bbcode_core.php (revision 314) @@ -1595,9 +1595,9 @@ // clean up the ampersands / brackets //----------------------------------------- - $url['html'] = str_replace( "&" , "&" , $url['html'] ); - $url['html'] = str_replace( "[" , "%5b" , $url['html'] ); - $url['html'] = str_replace( "]" , "%5d" , $url['html'] ); + $url['html'] = str_replace( "&", "&", $url['html'] ); + $url['html'] = str_replace( "[" , "%5b" , $url['html'] ); + $url['html'] = str_replace( "]" , "%5d" , $url['html'] ); //----------------------------------------- // Make sure we don't have a JS link @@ -1624,7 +1624,7 @@ $url['show'] = stripslashes($url['show']); } - $url['show'] = str_replace( "&" , "&" , $url['show'] ); + $url['show'] = str_replace( "&", "&", $url['show'] ); $url['show'] = preg_replace( "/java script:/i", "java script: ", $url['show'] ); if ( (strlen($url['show']) -58 ) < 3 ) $skip_it = 1;Basically, here are the instructions: sources/classes/bbcode/class_bbcode_core.php: Find (in function regex_build_url):$url['html'] = str_replace( "&", "&", $url['html'] ); change to $url['html'] = str_replace( "&", "&", $url['html'] ); Find: $url['show'] = str_replace( "&", "&", $url['show'] ); change to $url['show'] = str_replace( "&", "&", $url['show'] ); In sources/classes/bbcode/class_bbcode.php: Find: # XSS Clean (Disabled, better fix found) if ( $this->strip_hex_entity ) { preg_match_all( "/(?:&|&\;)#x(\w+?);/i", $txt, $match ); for ( $i=0; $i < count($match[0]); $i++ ) { $_all = $match[0][ $i ]; $_hex = $this->regex_bash_hex( $match[1][ $i ] ); $txt = str_replace( $_all, $_hex, $txt ); } $txt = preg_replace( "#&(?!\;)#", "", $txt ); } and change to # XSS Clean (Disabled, better fix found) /*if ( $this->strip_hex_entity ) { preg_match_all( "/(?:&|&\;)#x(\w+?);/i", $txt, $match ); for ( $i=0; $i < count($match[0]); $i++ ) { $_all = $match[0][ $i ]; $_hex = $this->regex_bash_hex( $match[1][ $i ] ); $txt = str_replace( $_all, $_hex, $txt ); } $txt = preg_replace( "#&(?!\;)#", "", $txt ); }*/ Ссылка на комментарий Поделиться на других сайтах Прочее
seba Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 -=MIF=-чета толи лыжи....у меня версия 2.1.6, в sources/classes/bbcode/class_bbcode_core.php уже все заменено, а в sources/classes/bbcode/class_bbcode.php этого блока нет вообще. нет ли путаницы в версиях, для которых необходимо исправление? может это для версий младше 2.1.6? Ссылка на комментарий Поделиться на других сайтах Прочее
Kuja Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 Да в клиентской части форума тотже косяк разберают.Такой ощущение, что у разрабов IBP версия какая-то более совершенная. Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 Странно, что никто не написал, что в 2.0.х есть аналогичные строки (bbcode_core) Ссылка на комментарий Поделиться на других сайтах Прочее
vanek2005 Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 Так где можно найти нормаьную инструкцию по устранению последней уязвимости в 2.1.X ? Ссылка на комментарий Поделиться на других сайтах Прочее
yarweb Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 Странно, что никто не написал, что в 2.0.х есть аналогичные строки (bbcode_core)Если есть такие же строки наверно не обязательно что присутствует аналогичная уязвимость... Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 (изменено) Странно, что никто не написал, что в 2.0.х есть аналогичные строки (bbcode_core)Да, естьдля 2.0.х возможно так: sources/lib/post_parser.phpнайти for ($i=0; $i < count($match[0]); $i++) { $tmp = $row['bbcode_replace']; $tmp = str_replace( '{content}', $match[2][$i], $tmp ); $t = str_replace( $match[0][$i], $tmp, $t ); }заменить на for ($i=0; $i < count($match[0]); $i++) { # XSS Check: Bug ID: 980 if ( $row['bbcode_tag'] == 'post' OR $row['bbcode_tag'] == 'topic' ) { $match[2][$i] = intval( $match[2][$i] ); } $tmp = $row['bbcode_replace']; $tmp = str_replace( '{content}', $match[2][$i], $tmp ); $t = str_replace( $match[0][$i], $tmp, $t ); } найти$url['html'] = str_replace( "&" , "&" , $url['html'] );заменить на$url['html'] = str_replace( "&" , "&" , $url['html'] ); найти$url['show'] = preg_replace( "&" , "&" , $url['show'] );заменить на$url['show'] = preg_replace( "&" , "&" , $url['show'] ); Народ! обратите внимание, что рещется код...amp; пропало из исправлений: 1 & и 2 & надо оба раза в исправлении и в оригинале первый & тоже исчез из кода Изменено 21 Июня 2006 пользователем -=MIF=- Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 Но что-то мне говорит, что это не то... Не стоит так менять Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 21 Июня 2006 Жалоба Поделиться Опубликовано 21 Июня 2006 ну подождитеесли бы была уязвимость для 2.0.х, то ИБР тим бы написали! а так они написали только для 21х Ссылка на комментарий Поделиться на других сайтах Прочее
DEVID Опубликовано 22 Июня 2006 Жалоба Поделиться Опубликовано 22 Июня 2006 Ребят чего-то я не понял про это:Обновление безопасности в IPB 2.x.x (16.05.06)Как лечить для 2.0.4? Ссылка на комментарий Поделиться на других сайтах Прочее
SplideX Опубликовано 22 Июня 2006 Жалоба Поделиться Опубликовано 22 Июня 2006 по последней уязвимости с сайта, может кто-нить её прокомментить и выложить фиксы? Ссылка на комментарий Поделиться на других сайтах Прочее
wrm Опубликовано 22 Июня 2006 Жалоба Поделиться Опубликовано 22 Июня 2006 Так в 2.0.3 (2.0.4) есть эта дыра или нет? Ссылка на комментарий Поделиться на других сайтах Прочее
seba Опубликовано 22 Июня 2006 Жалоба Поделиться Опубликовано 22 Июня 2006 и снова непонятки. после опубликования новой заплатки в файле sources/classes/bbcode/class_bbcode_core.php у меня уже стоит вот такой код:(хотя ничего пока не трогал)for ($i=0; $i < count($match[0]); $i++) { # XSS Check: Bug ID: 980 if ( $row['bbcode_tag'] == 'post' OR $row['bbcode_tag'] == 'topic' ) { $match[2][$i] = intval( $match[2][$i] ); } $tmp = $row['bbcode_replace']; $tmp = str_replace( '{option}' , $match[2][$i], $tmp ); $tmp = str_replace( '{content}', $match[3][$i], $tmp ); $t = str_replace( $match[0][$i], $tmp, $t ); }вопрос: что лучше? оставить тот что есть, или все же поменять на то, что советуется: for ($i=0; $i < count($match[0]); $i++) { # XSS Check: Bug ID: 980 if ( $row['bbcode_tag'] == 'post' OR $row['bbcode_tag'] == 'topic' ) { $match[2][$i] = intval( $match[2][$i] ); } $tmp = $row['bbcode_replace']; $tmp = str_replace( '{content}', $match[2][$i], $tmp ); $t = str_replace( $match[0][$i], $tmp, $t ); } Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения