Бесправный vbulletin. Какой форум лучше vBulletin или PunBB

Ты наверняка неоднократно видел форумы на движке vBulletin. Форумы как таковые уже не на пике моды, но vBulletin по-прежнему один из самых популярных движков. В его последней (пятой) версии нашли несколько уязвимостей, которые способны сильно испортить жизнь админу. В этой статье я расскажу, как они эксплуатируются.

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

Вторая уязвимость была найдена исследователями из компании TRUEL IT и получила идентификатор CVE-2017-17672. Она связана с особенностями десериализации данных в движке и может быть использована атакующим для удаления произвольных файлов в системе.

Полные отчеты с деталями обеих проблем были опубликованы в рамках программы Beyond Security от SecuriTeam. Там же есть PoC-эксплоиты для демонстрации уязвимостей. Давай по порядку пройдемся по всему этому.

Приготовления

В качестве сервера я использовал дистрибутив WAMP.

Читаем файлы, выполняем команды

Итак, причина первой уязвимости - некорректная логика при обработке параметра routestring, которая позволяет атакующему добавить через include любой файл на диске и выполнить PHP-код, который в нем находится.

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

/index.php
48: $app = vB5_Frontend_Application::init("config.php"); ... 60: $routing = $app->getRouter(); 61: $method = $routing->getAction(); 62: $template = $routing->getTemplate(); 63: $class = $routing->getControllerClass();

Посмотрим на метод vB5_Frontend_Application::init .

/includes/vb5/frontend/application.php
13: class vB5_Frontend_Application extends vB5_ApplicationAbstract 14: { 15: public static function init($configFile) 16: { 17: parent::init($configFile); 18: 19: self::$instance = new vB5_Frontend_Application(); 20: self::$instance->router = new vB5_Frontend_Routing(); 21: self::$instance->router->setRoutes();

Здесь нас интересует метод setRoutes .

47: public function setRoutes() 48: { 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: { 56: $path = $_GET["routestring"];

В переменную $path попадает значение юзердаты из параметра routestring . В него можно передать путь до страницы форума, и она будет загружена.



Допустим, мы передали /test .

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

/includes/vb5/frontend/routing.php
75: if (strlen($path) AND $path{0} == "/") 76: { 77: $path = substr($path, 1); // $path = "test" 78: }
includes\vb5\frontend\routing.php
83: if (strlen($path) > 2) 84: { 85: $ext = strtolower(substr($path, -4)) ; 86: if (($ext == ".gif") OR ($ext == ".png") OR ($ext == ".jpg") OR ($ext == ".css") 87: OR (strtolower(substr($path, -3)) == ".js")) 88: { 89: header("HTTP/1.0 404 Not Found"); 90: die(""); 91: } 92: }

Как видишь, проверка довольно странная. Как минимум смущает наличие зашитого прямо в код списка запрещенных расширений. Да и вообще сам факт, что расширение получают, вырезая четыре символа с конца строки (строка 85), вызывает недоумение. В общем, если мы пытаемся получить файл с расширениями gif, png, jsp, css или js, то сервер вернет страницу 404 и выполнение скрипта прекратится. Когда все проверки пройдены, с помощью callApi вызывается метод getRoute из класса vB_Api_Route . Он ищет подходящие роуты, исходя из переданной пользователем информации.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

Исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое. Скачать бесплатно .


vBulletin Connect v5.3.3 - мощный, масштабируемый и полностью настраиваемый пакет форумов для вашего сайта.

Версия: 5.3.3 (Nulled by vBSupport.org)

Минимальные требования php 5.6
Совместимость с php 7.1
При новой установке необходимо переименовать файл htaccess.txt в.htaccess
При обновлении удалить папку fonts (до запуска обновления).

Новые возможности:
Новый UI с обширной социальной интеграцией;
Оптимизирован под мобильные устройства;
Упрощена установка, управление и настройка;
Новая архитектура базы данных для улучшения поиска и лучшей производительности;
Удобное динамическое изменение контента;
Расширенная для обмена видео и изображениями;
Полная интеграция с VigLink;
Больше чем 100 других новых функций и улучшений;

Встроенные приложения:
Дискуссионный форум
Группы
Опросы
Блог

Оптимизация поисковой системы:
SEO дружественные URL
Пользовательский тег ключевых слов/описания META

Гибкость:
Расширяемые профили пользователей
Перезапись URL
Интерфейсная локализация
Метаданные

Соответствие стандартов:
Объединение в синдикаты содержания (RSS)
Объединение в синдикаты содержания: RSS, Atom, XML
PHP v5.4 совместимый

Без разрывный интегрированная система:
Единственный задействованный вход в систему
Единственная система разрешения
Единственная администраторская панель управления
Создайте непрерывный Стиль/тему через Статьи, Блоги, Форум

Панели управления для каждой роли:
Администраторские средства управления
Панель управления модератора
Пользовательская панель управления
Объединенная система разрешения
Движок шаблонов питания для усовершенствованной настройки

Управление пользователя:
Многопользовательская система с неограниченными ролями и полномочиями
Задействованные группы
Безопасность
Гранулированные полномочия
Проблемное уведомление
Совместимый SSL
Captcha
Подтверждение адреса электронной почты
Администраторский редактор новостей панели управления
Система "забастовки" входа в систему
Электронная почта и изменения Пароля требуют текущего пароля
Совместимый с Children"s Online Privacy Protection Act (COPPA) 1998

1. Зайдите в панель управления администратора:
Languages & Phrases - Download / Upload Languages.
2. В поле "EITHER upload the XML file from your computer" введите путь к
файлу vbulletin-language_ru.xml на Вашем компьютере.
3. В параметре "Overwrite Language" выберите пункт "Create New Language"
4. В поле "Title for Uploaded Language" введите название языка.
При отсутствии введённых данных язык будет называться "Russian (RU)"
5. Установите "Yes" в параметре "Ignore Language Version"
6. Установите "Yes" в параметре "Read Charset from XML File"
7. Нажмите на кнопку "Import" и ждите завершения процесса загрузки.
7А При желании, Вы можете сделать новый язык языком "По умолчанию",
нажав возле него кнопку "Default" / "Значение по умолчанию".





  • From:
  • Registered: 2014.07.08
  • Posts: 3,924
  • Likes: 504

Topic: Какой форум лучше vBulletin или PunBB

VBulletin (Вобла или Булка, как его любят у нас называть) – один из старейших коммерческих форумных движков, написанных при помощи технологий PHP и MySQL. Начиная с выхода самой первой версии в 2000 году, была проделана колоссальная работа по улучшению функционала, что позволило VB попасть в список лучших программных продуктов.

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

2 Reply by PunBB

  • From: Moscow, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.08
  • Posts: 3,924
  • Likes: 504

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

Движок форума VBulletin создает серьезную нагрузку на сервер, особенно если установлены сторонние дополнения и скрипты. Чтобы в дальнейшем избежать проблем с загрузкой страниц, придется раскошелиться на нормальный хостинг. Особенно если в будущем прогнозируете своему ресурсу большую посещаемость.

3 Reply by PunBB

  • From: Moscow, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.08
  • Posts: 3,924
  • Likes: 504

Re: Какой форум лучше vBulletin или PunBB

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

VBulletin, реализует масштабные идеи как нельзя лучше. Постоянные обновления, высококачественный сервис, дополнительные расширения и надежные механизмы безопасности – все это вполне оправдывает потраченные на продукт средства.

4 Reply by PunBB

  • From: Moscow, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.08
  • Posts: 3,924
  • Likes: 504

Re: Какой форум лучше vBulletin или PunBB

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

Конечно, для vBulletin есть большое количество дополнений и пользовательских сообществ, так что никаких проблем с обслуживанием не будет, особенно с учетом того, что существует официальная служба поддержки. Минусом vBulletin, пусть и не очень большим, является платность дополнений, например, для пользовательских блогов.

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

Давно хотел написать об этом, да все руки не доходили, а тут как раз выдалась минутка опубликовать небольшую заметку по теме. Так почему же не опубликовать список того, на что пользователь смотреть в первую очередь перед выбором хостинга. Особенно для нас, тех кто пользуется vbulletin. Назовем это все просто - рекомендации. Понятное дело, что профессионалам и так все понятно, тут как бы объяснять нечего. А вот новичкам стоит все таки растасовать. Так как вижу нездоровую тенденцию, админ Vbulletin 4, хочет чтобы его форум работал на шаред хостинге за 5$ и все летало. такого не когда не будет!

Все мы знаем основы, но когда я искал свой хост когда-то я тоже совершал некоторые ошибки, вот и разберем некоторые.

Является ли компания оверселлером?

Господа, я вас умоляю, не пользуйтесь хостингом который перепродают (оверселлер). Скорее всего вам выделят кусок большого «гумна» с которым вы намучаетесь на долго. Но как нам определить, что хостинг перепродается через 50 руки? Тут секретов нет, вам предложат 500 или 1500ГБ места (тут я утрирую конечно но ненамного) и пропускную способность 100 ТБ и всего то за 5 баксов. Не слишком ли хорошо? Но это все бред сивой кобылы, на самом деле вам не нужно больше 2-10 ГБ дискового пространства, уж поверьте. А пропускной способности 50- 200 гб вам за уши, тем более на первых парах.

Является ли компания реселлером?

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

Предельный размер базы данных!

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

Количество одновременных подключений к базе данных.

О, да это 100% важная вещь. Это очень важно, тем более если вы работаете с Vbulletin. Так как со временем одновременное подключение только растет. Большинство компаний шаред хостинга предлагает 10-250, все зависит от хостинга. Просто позвоните в тех поддержку и спросите у них об этом. Но, не все шаред хостинги имеют эту информацию, или поделятся с вами.

Отзывы! Хорошо это или плохо?

Тех поддержка.

На большинстве хостингах есть круглосуточная тех поддержка, которая работает 24/7, через электронную почту, тикеты, icq, skype или еще каким либо способом. Но как долго они будут вам помогать? Иногда это играет решающую роль.

Вызовите тех поддержку и посмотрите как долго вы будете ждать ответа, особенно ночью или в 5-6 утра. И проверьте несколько вариантов и телефон и тикеты. Задайте простые вопросы на которые вы и так знаете ответы, нам нужно вычислить время их ответа. Получили! Отлично, посмотрите сколько вы ждали ответа на легкий вопрос, и прикиньте сколько вам будут отвечать на сложную ситуацию.

Большая известная компания или новая неизвестная?

В принципе тут выбор стоит только перед вами, чем старше компания и солиднее, цены у не будут немного выше, чем у только что созданных. Лично я выбираю компанию которая себя уже как-то зарекомендовала. Хотите знать почему? Все просто, представьте только себе, что вы в одночасье можете потерять множество полезных файлов и базу данных. То же самое про политику конфиденциальности, не всегда можно быть уверенным, что она соблюдается. Ваши данные могут быть скопированы и созданны сайты клоны. Этот список можно продолжать и продолжать. Ну вы меня поняли 🙂

mob_info