Другая profile invision power board. Конкурс хаков: простой способ устроить DoS в IPB. Поздравляем участника конкурса

Ошибка БД на форуме Invision Power Board (IPB), вследствии чего форум начал тормозить довольно прилично. Оказалась повреждена таблица ibf_profile_portal_views, и необходимо сделать проверку таблиц. На форуме это отображается следующим образом: нельзя войти в профиль пользователя:

Также на форуме не отображается статистика посещений:

Идем в Админцентр IPBoard смотрим свойства системы:

Идем в раздел: Поддержка > Диагностика > Состояние системы > Обзор системы > Проверка структуры базы данных.

Находим ошибку: ibf_profile_portal_views. Нажмите здесь для исправления таблицы или вы можете выполнить следующие запросы вручную.
- ALTER TABLE ibf_profile_portal_views ADD views_member_id int(10) NOT NULL default "0".


Внимание: Найдены ошибки. В базе данных обнаружены ошибки. И для их исправления нажимаем на ссылку: Хотите попытаться исправить все в автоматическом режиме?


И напротив таблицы ibf_profile_portal_views (профиль и количество просмотров) получаем зеленый флаг:


Но после выхода и входа в админку, ошибка появляется снова. Поэтому идем в Поддержка > Управление SQL > Инструменты > Инструменты для управления SQL.


И делаем клик на таблице ibf_profile_portal_views.

Читаем информацию. Результаты ручного запроса: Can"t find file: "ibf_profile_portal_views" (errno: 2). Далее, вбиваем в поле Выполнить:
CREATE TABLE ibf_profile_portal_views (
views_member_id int(10) NOT NULL default "0"
);
И нажимаем на кнопку: Выполнить новый запрос.


Ошибка сменилась на: Table "ibf_profile_portal_views" already exists. Т.е. не дает создать новую таблицу, так как она уже существует.


Пробуем следующий вариант: repair table ibf_profile_portal_views;

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


Функция этой таблицы следующая - там скапливаются просмотры профиля пользователя, потом, они считаются и обновляются в другой таблице, а данная таблица очищается.
Для работы с БД, также можно использовать либо Sypex Dumper, либо phpMyAdmin веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

In my opinion, as a site admin, that"s not personal information. Plus that information lives in many places besides your profile. It shows in forum topics, in your user popup, it defines what permissions you have, etc. So hiding it on your profile is a false sense of privacy.

To me it just does not make sense to introduce a false sense of security by "hiding things in my profile" when everything you put in your profile on a community forum is by its nature public to all those in said community.

Put another way: on Facebook your profile is all about you. On a community your profile is about what you have done in that community. It"s the opposite viewpoint.

I think your opinion of forum profiles is dated. It might apply to quite a few forums, but you claim to be an enterprise solution, so that is what I am addressing this as. My site might be small potatoes, but it is becoming one of the most popular in its niche.

Profiles on my site have a lot of potential. But because my members are a mixture of professionals within my industry niche and consumers/DIYers who aren"t, the power of my member profiles as a whole can be seriously diluted with miscellaneous information that has nothing at all to do with my industry. Take, for instance, the 2 members whose profile pages I use to illustrate my point.

This user, MarmoMan, is a pro in his field. The information he provides is relevant to the industry and can be used as a kind of business listing. Anyone who visits the site can view his profile and see his industry status, work history and accomplishments and contact him in various manners that can be very beneficial to him. This kind of profile is an asset to my site.

This user, arrowpawn, is a consumer who came to us about flooring issues he/she was having, got answers and hasn"t returned since. But the member made sure to leave a lasting impression I only discovered tonight. In addition to all the non-industry related information on the About Me tab, there is contact information, including a link to a website, on the Contact Info tab. This is not good for my site and is considered spam - even though they are a legitimate company. They have taken advantage of the inability I have to make certain profile information and certain user groups hidden from search spiders and non-members.

IPS4.x has great potential to turn profile pages into an asset for many forums. It could have the ability to add fields relevant to the site"s focus, turn privacy on and off for certain of those fields, make some/all fields admin controllable and add SEO to the profile, among other options. The user popup in other areas of the site should include only information the admin deems important on a user category basis and also allow some user configuration.

The point I want to make to you is that everything put in a profile does NOT have to be public, especially if you want to have more control over the relevant content of your website. And I am not one that will compare this feature to facebook. My hope is that it will be incomparable to any other forum product available. You have the resources, the skill and the potential to develop IPS profiles into more than just a miscellaneous forum feature.

Версии

  • 1.x.x , последняя версия - 1.3.1 , поддержка прекращена.
  • 2.0.x , последняя версия - 2.0.4: 4 мая
  • 2.1.x , последняя версия - 2.1.7: 13 июля
  • 2.2.x , последняя версия - 2.2.2: 22 февраля
  • 2.3.x , последняя версия - 2.3.6: 2 октября
  • 3.0.x , последняя версия - 3.0.5: 8 декабря
  • 3.1.x , последняя версия - 3.1.4: 18 ноября
  • 3.2.x , последняя версия - 3.2.3: 9 сентября
  • 3.3.x , последняя версия - 3.3.4: 11 июля

История развития

Компания Invision Power Services (IPS) создана двумя программистами - Matt Mecham и Charles Warner в 2002 году, вскоре после того, как они покинули Jarvis Entertainment Group (компания, занимающаяся разработкой форумов Ikonboard). Самым первым их продуктом стал именно IPB, который привлек внимание множества пользователей Ikonboard.

Хотя разработчики Invision Power Services изначально предпочли бесплатное распространение исходного кода форума, в 2004 году IPB прекратил выпуск бесплатных версий. Trial-версию Invision Power Board 2.0.0 решено было оставить для свободного скачивания, но 27 сентября 2004 года эту возможность так же закрыли в связи с вводом бесплатной демоверсии, имеющей ограничения на 5000 сообщений, 1000 тем и 200 пользователей. Этим Invision Power Services положили конец заявлениям что IPB всегда будет бесплатным. 1-го июля 2005 года IPS ввело новое ограничение в демоверсию - не более 15 дней использования (в некоторых случаях, до 5 дней) и несколькими месяцами спустя, этот срок был ограничен сутками.

Версия IPB 2.0.4 стала первой версией, которую начали официально продавать в России, а также странах СНГ. Русскоязычное сообщество получило официальное разрешение компании IPS на осуществление продаж локализованной версии IP.Board в русскоязычном сегменте.

Версия 1.3

Версия форумов IPB 1.3 является самой последней бесплатно распространяемой версией движка и до сих пор разрешена IPS для использования, хотя уже не поддерживается разработчиками и доступ к скачиванию на официальном ресурсе уже прекращён. Не обращая внимание на устарелость данной версии форума и наличия в ней известных дыр в безопасности, многие люди до сих пор пользуются ей и не выражают никакого желания обновляться. IPS продолжала выпускать обновления безопасности до объявления выхода в разработку версии 2.1 в 2005 году, после чего поддержку данной версии форума прекратила. Некоторыми сайтами продолжают выпускаться обновления безопасности и обновления для работы данной версии форума на PHP5 , но эти обновления не поддерживаются IPS. Использование этих версий является незаконным в том случае, если вы скачали ее не с официального сайта .

Версия 2.0

Форумы версии IPB 2.0 очень похожи на 2.1. Данная версия является последней версией, которую можно бесплатно скачать с официального сайта IPS. Так же, как и с версией 1.3, многие пользователи до сих пор продолжают ей пользоваться, используя неограниченные trial-версии 2.0 PDR (Версия, находящаяся на этапе разработки), PF (англ. Pre-Final ; версия, находящаяся на этапе тестирования и доработки, выпускается перед финальным релизом) и Final, которые так же имеют свои дыры в безопасности и больше не поддерживаются разработчиками. Final-версию 2.0 бесплатно можно было скачать в первые часы после официального выхода в свет с официального сайта разработчика.

Версия 2.1

IPB 2.1 имеет значительные преимущества над своими предшественниками, такие как: последние обновления безопасности, Rich Text Editor в качестве редактора сообщений пользователя и множество инструментов для модерирования, в том числе с применением технологии AJAX . Административная часть в IPB 2.1 была полностью переработана. Все версии IPB 2.1 являются коммерческим ПО, возможности скачать на официальном сайте демоверсию нет.

Версия 2.2.7

Invision Power Board 2.2 тестировалась на безопасность сторонней компанией, что позволило найти в скрипте форума опасные уязвимости ещё до выпуска финальной версии. Сразу после релиза 2.2 версии была выпущена версия 2.2.1, которая закрыла множество ошибок.

Версия 2.3

Эта версия включает в себя множественные изменения в коде, которые позволили повысить быстродействие системы на больших форумах. С версии 2.3 форум предоставляется в комплекте с двумя стилями (классический синий и Pro стиль). Последний позиционируется разработчиком как облегчённый и может быть легко использован как основа для разработки своих стилей, или, к примеру, как стиль для форумов с высоким трафиком. В этой версии IPS расширила возможности администраторской панели форума, добавив интеллектуальную систему помощи и предоставив панель управления (dashboard) в качестве главной страницы админцентра. Из новых возможностей форума стоит отметить появление переназначения стилей (URL Mapping). Благодаря этой настройке стало возможным назначать собственные стили на определенные URL-адреса: например, сделать стиль, отличный от стиля форумов, для страницы просмотра профиля.

Версия 3.0

В этой версии произошли обширные изменения, включая появление нового движка шаблонов, новый дизайн, повышенное удобство при редактировании шаблонов, улучшения BB-кодов, собственную систему репутации и многое другое… Также для 3-ей версии необходим PHP5 . Базы данных Oracle больше не поддерживаются. Основным же новшеством стало появление хуков, с помощью которых можно изменять и/или добавлять новый функционал без изменения исходного кода форума. Для установки хуков администратору достаточно загрузить xml файл хука админ-центре. К сожалению, создание любых хуков возможно только в режиме разработки и требует огромного количества ручной работы (большая часть этой работы может быть автоматизирована с помощью IPB3 Toolkit ).

Все хуки разделяются на следующие типы (названия хуков взяты из русской версии от IBR, в скобках указано оригинальное название):

  • Перезагрузчик действия (Action overloader) - позволяют расширить указанный класс контроллера собственным классом;
  • Перезагрузчик стиля (Skin overloader) - позволяют расширить указанный класс шаблона собственным классом (применяется для всех скинов);
  • Модификация шаблона (Template hook) - позволяют добавить произвольный код (в основном это HTML) в нужное место шаблона.

Версия 3.1

Система хуков так же получила дальнейшее развитие - были добавлены новые типы хуков:

  • Хук для шаблона (ранее - Модификация шаблона, Template hook) - расширен, можно выполнять замену блоков и получать значения переданных в шаблон переменных;
  • Хук для данных (Data hook) - позволяет обрабатывать данные перед их вставкой (получение) в (из) базы данных;
  • Хук для библиотеки (Library hook) - позволяет переопределять многие системные классы.

Версия 3.2

Примечания

См. также

  • Ikonboard - Скрипт форума, изначально разрабатываемый Matt Mecham.

Ссылки

Официальные

  • Документация по Invision Power Board - официальная англоязычная документация по Invision Power Board

Есть небольшая уязвимость в форумном движке IPB. Можно потроллить админа и заодно убить его форум на несколько дней (проверено лично на двух форумах).

Поздравляем участника конкурса

Этот текст был прислан на конкурс авторов, который мы запустили весной. Мы разобрались с большим количеством пришедших материалов, подвели итоги и наградили победителей. Автор этой заметки получил приз - трехмесячную подписку на «Хакер». Поздравляем!

Разберемся по шагам, как это работает.

  1. Сначала нужно зарегистрироваться на форуме, чтобы иметь возможность постить.
  2. После регистрации создать «мусорную» тему там, куда модераторы почти не заглядывают, либо оставить пост в одной из таких тем. Содержание поста или темы должно быть огромного размера. Некоторые админы допускают ошибки при конфигурировании сервера, позволяя пользователям отправлять посты с нелимитированной длиной текста. Лично я хешировал слово DDoS в SHA-512 и копировал хеш в форму отправки поста до тех пор, пока браузер не повисал на несколько секунд от количества вставляемого на страницу текста.
  3. Отправляем новую тему или пост. Движок реализован наплевательски, и длинные посты не сокращаются с возможностью их расширить по клику на кнопку. А выводом таких постов занимается PHP, а не клиентский JS. Как итог - получаем огроменную страницу с несколькими миллионами символов, которые грузятся синхронно с сервера.
  4. Начинаем DDoS-атаку на тему с огромным постом. Поскольку все запросы идут напрямую к PHP, а от него к БД, сайт очень быстро сляжет с ошибкой 500 Internal Server Error, а потом и с 504 Gateway Timeout (поскольку база данных даже на VPS не сможет так быстро отдавать такой огромный пост, что уж говорить о Shared-хостинге) и встать сможет еще не скоро, ведь запросы к БД будут висеть и ждать ответа от сервера и базы данных.
  5. Скрыть атаку от особо глупых модераторов можно, учудив финт ушами. В IPB есть модуль «Активность» (Discover в английской версии движка). Это такая лента, которая хранит историю последних постов. Так вот, чтобы отвлечь внимание модераторов (которые могут задетектить тему, стереть ее и забанить аккаунт), нужно сразу же после отправки мусорного поста начать флуд на страницу с активностью. Увидев логи, сисадмин будет думать, что атака идет на ленту сообщений и не сможет обнаружить корень проблемы - созданную нами тему, которая, кстати, тоже целиком в несвернутом виде будет висеть на странице. Единственное, что он сможет сделать, - закрыть ленту от незарегистрированных пользователей. Да и то это сомнительное решение, от которого страдает юзабилити.
  6. Несколько часов интенсивной DDoS-атаки на мусорную страницу, и буквально через пару суток (максимум - недель) БД форума упадет навсегда. Нет, не просто упадет, а будет сломана без возможности восстановления. Не уверен, с чем это связано и почему это происходит, но это происходит. Таким образом, можно не только легко в пару кликов положить форум даже на Dedicated-сервере, но и уничтожить его базу данных, которую без бэкапа восстановить будет крайне затруднительно.

А еще можно забить место на диске логами. Обычно арендуют VPS с SSD-диском на 10–20 Гбайт, а картинки на форум разрешают загружать только со сторонних ресурсов. Так вот, забить логи очень просто - нужно использовать в названии темы тот же длинный хеш. Слегка увеличить эффект можно также при помощи рефереров, вставляя в них тот же хеш.

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

Конкурс продолжается

Мы решили продлить конкурс и превратить его в постоянную акцию. Прислав нам описание хака, полезный совет или описание клевой неизвестной проги, ты по-прежнему можешь получить подписку на месяц, три месяца или, если постараешься, на год.

Invision Power Board (также применяются сокращения: IPB, IP.Board) представляет собой одно из популярнейших в мире решений для создания форумов. Данное программое обеспечение разрабатывается фирмой Invision Power Services, Inc.

Система создана с применением технологий HTML, PHP, JS, AJAX, в качестве сервера базы данных использует MySQL (дополнительно, имеется поддержка других серверов баз данных, таких как Microsoft SQL Server и Oracle). IPB является платным программным обеспечением.

Несмотря на то, что Invision Power Board является платным продуктом, существует большое количество сообществ, занимающиеся его поддержкой и модификацией. Большая часть модификаций и стилей оформления, разрабатываемые данными сообществами, бесплатны и свободны для скачивания. Крупнейшим русским сообществом является IBResource.ru.

Версия форумов IPB 1.3 является самой последней бесплатно распространяемой версией движка и до сих пор разрешена IPS для использования, хотя уже не поддерживается разработчиками и доступ к скачиванию на официальном ресурсе уже прекращен. Не обращая внимание на устарелость данной версии форума и наличия в ней известных дыр в безопасности, многие люди до сих пор пользуются ей и не выражают никакого желания обновляться. IPS продолжала выпускать обновления безопасности до объявления выхода в разработку версии 2.1 в 2005 году, после чего поддержку данной версии форума прекратила. На некоторых сайтах даже сейчас можно увидеть ссылки на выпускаемые ими обновления безопасности, равно как и обновления, позволяющие работать скрипту форума на PHP5. Эти обновления не поддерживаются IPS. Версия 1.3.1 была условно-бесплатной на период тестирования, который может длиться сколь угодно долго. После этой версии Invision Power Services стали выпускать свои продукты под коммерческой лицензией.

Преимущества

  • Установка всего за 3 минуты . Компоненты автоматической инсталляции дают возможность практически любому пользователю установить форум всего за несколько минут. Процесс не требует специальных знаний: система сама выполнит все операции, запросив у вас лишь необходимые данные. Да, к чему лишние разговоры, - IPB-лицензия даёт каждому владельцу право заказать бесплатную установку своего форума.
  • Техподдержка на русском языке. Обладателям лицензии IP.Board доступна техническая поддержка на русском языке. Причем специалисты службы не просто говорят на вашем родном языке, они также являются «родными» разработчиками форума. А значит, вам не прийдется объяснять им симптомы проблем, а также возможные пути разрешения. Идеальное владение предметом позволяет производить все работы с форумом, не тратя время и силы клиента.
  • Социальная направленность. Сделать форум полноценной средой для общения, дать пользователям дополнительные возможности для знакомства и установления связей - этому способствуют атрибуты социального взаимодействия участников форума. Пользователи IP.Board могут легко обмениваться различным контентом между собой, создавать персональные анкеты, заводить друзей, добавляя их в свой круг.
  • Удобный интерфейс Web 2.0. Хорошего никогда не бывает много. Для ещё большего удобства в системе IPB используются современные технологии Web 2.0. Благодаря чему, пользоваться необходимыми базовыми функциями форума легко и интуитивно просто. А раз просто, значит, участники избавлены от занудной технической «прелюдии» к общению.
  • Гибкость. IPB обладает широкими возможностями для персонализации вашего сообщества и настройки индивидуальных опций. Гибкость системы позволяет без больших трудозатрат осуществлять интеграцию форума со сторонними решениями, а также изменять любой элемент интерфейса (дизайн, добавление новых функций).
  • Лояльность к бренду. «Потребитель не дурак, он - твоя жена». Интересный форум, продуманная организация сообщества - всё это работает на имидж компании, повышает лояльность клиентов к марке. Пользователи обязательно оценят комфорт созданной среды для общения: возможность обсуждения марки с другими людьми, обмен мнениями, отклик и взаимодействие с руководством самой компании.
  • Снижение расходов. Сообщество форума выполняет роль онлайн-консультации 24 часа в сутки, ощутимо сокращая количество обращений в вашу службу техподдержки. Пользователю психологически намного проще и легче обратиться за помощью на форум: дружеское участие, мнение и советы независимых специалистов - в результате общения не только решаются все проблемы, но и снимаются негативные эмоции из-за возникших затруднений.
  • Маркетинговые исследования. Система IP.Board позволяет использовать форум как инструмент для маркетинговых исследований. Изучение оценок и мнений ваших клиентов, проведение опросов, тестирование - широкие технические возможности форума позволяют применять различные схемы исследований.
  • Многозадачность. Гибкость настройки системы позволяет использовать IP.Board для достижения различных целей. Помимо традиционного инструмента коммуникаций, некоторые компании организовали на базе форума систему управления проектами. IP.Board служит как внутренней, так и внешней системой работы с клиентами. За счёт возможности глубокой и индивидуальной настройки прав доступа можно адаптировать работу форума даже к самыми сложным и специфическим задачам.
  • Адекватность ценообразования. Условия приобретения программного продукта IP.Board и разработанный тарифный план позволяют найти оптимальный вариант для решения поставленных перед форумом задач. Вы платите за то, что вы действительно используете, что вам действительно необходимо.
  • Дополнительные модули. Вы можете расширять функционал системы IP.Board с помощью дополнительных официальных приложений (модуль галереи, блога, файлового архива). Готовые решения избавляют вас от самостоятельных разработок и доработок функционала. Дополнительные модули полностью совместимы с системой и используют единое пространство сообщества, что позволяет производить их установку в один клик, не требуя специальных знаний и навыков. Приложения также поддерживают выход новых версий, а их обслуживание входит в общий пакет услуг по техподдержке форума.
  • Продуманное управление форумом. Эффективности любого сообщества способствует грамотное «дирижирование». Встроенные в IP.Board инструменты управления позволяют создавать гибкую систему администрирования и модерирования с нужным разграничением прав. Управление форумом включает широкие возможности: от контроля за контентом до создания центра диагностики, который позволяет вести обслуживание форума, следить за статистикой и проверять систему на возможные ошибки.

Возможности

  • Простая, интуитивная и быстрая установка
  • Наличие драйверов для различных типов баз данных: MSSQL, Oracle, PostgreSQL
  • Полная готовность работы сразу после установки
  • Группы и Мульти-группы для пользователей
  • Современный профиль пользователя
  • Друзья