Shoppinggid: как удалить надоедливый спам? Объявил profile powered by punbb.

Недавно в PunBB был найден ряд уязвимостей - PHP-инклюдинг и SQL-инъекция.
Уязвимость позволяет удаленному пользователю выполнить произвольные SQL
команды в базе данных приложения. Удаленный авторизованный пользователь может
выполнить произвольный PHP сценарий на целевой системе. Уязвимость существует из-за недостаточной обработки входных данных в сценарии
"profile.php". При включенной опции "register_globals", удаленный
пользователь может выполнить произвольные SQL команды в базе данных
приложения. Существует уязвимость при обработке pun_include тегов. Удаленный пользователь
может загрузить и выполнить произвольный PHP сценарий на целевой системе.

Разработчики форумов не перестают радовать простых обывателей новыми версиями
своих продуктов, а обыватели в свою очередь ресурсами серверов простых
скрипткидди. Буквально на днях было открыто 2 новых критических бага в
популярном форуме punbb человеком по имени Stefan Esser .
И сейчас я постараюсь объяснить как это всё работает.

Для начала надо поднять права до администратора с помощью sql-injection.
Открываем в браузере страницу

http://site.ru/punbb/profile.php?id=*

сохраняем её на винт, изменяем через блокнот строчку:

Т.е. изменяем url на абсолютный путь и добавляем
temp=group_id=1. Из кода файла profile.php видно, что массив $temp не проверяется:

while (list($key, $input) = @each($form))
{
$value = ($input !== "") ? "\"".$db->escape($input)."\"" : "NULL";
$temp = $key."=".$value;
print "".$key."\n".$value."\n
";
}
$db->query("UPDATE ".$db->prefix."users SET ".implode(",", $temp)." WHERE
id=".$id) or error("Unable to update profile", __FILE__, __LINE__,
$db->error());

Открываем в браузере сохраненный html файл
и нажимаем submit, в итоге мы изменяем значение колонки group_id в таблице users и становимся
администратором. Далее будем использовать вторую багу
- php-injection.

Эта бага кроется в файле include/function.php

// START SUBST -
while (preg_match("", $tpl_maint, $cur_include))
{
ob_start();
include PUN_ROOT.$cur_include;
$tpl_temp = ob_get_contents();
$tpl_maint = str_replace("<".$cur_include.">", $tpl_temp, $tpl_maint);
ob_end_clean();
}
// END SUBST -

Скрипт ищет тег Для загрузки скриптов, но т.к. в строчке
include PUN_ROOT.$cur_include; имеется переменная PUN_ROOT, то можно подключать только локальные файлы. Для
этого мы создаем рисунок с комментарием в
виде php кода и загружаем как аватар. Далее редактируем, например, описание форума через админку, т.е. добавляем:

Открываем главную страницу форума и вуаля
- скрипт инклудит картинку и исполняет код
из комментария.

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

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

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

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

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

Итак, вот моя подборка полезных решений для крауд-маркетинга.

Бесплатные инструменты

Обычный поиск Google отлично подходит для того, чтобы находить тематические обсуждения (как и поиск Яндекса).

Вводим нужный запрос. Через меню "Инструменты поиска – За все время" выводим только свежие обсуждения:

В зависимости от числа результатов можно выбирать разные опции – от года до 24 часов.

В итоге вы получите все свежие материалы за последнее время по вашему запросу.

На этом я мог бы спокойно перейти к следующему пункту, но доброта и любовь к мелким деталям старика Глобатора не знает границ 🙂 . Пока не расскажу подробно, не могу успокоиться 😉 .

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

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

Например, чтобы найти форумы по своей тематике, задаем такие запросы в Google (вместо слова "тематика" используем название нужной тематики, например, "футбол", "фитнес", "йога"):

тематика форум

тематика forum

тематика "Powered by vBulletin" (форумы на движке vBulletin)

тематика "forumdisplay" (форумы на движке vBulletin)

тематика "Форум IP.Board" (на движке IP.Board)

тематика "showtopic" (на движке IP.Board)

тематика "Powered by phpbb" (на движке phpbb)

тематика "Создано на основе phpBB" (на движке phpbb)

тематика "viewtopic.php?f=" (на движке phpbb)

тематика "Powered by PunBB" (на PunBB)

тематика "viewtopic.php?id=" (на PunBB)

тематика "Powered by SMF" (на SMF)

тематика "index.php?board=" (на SMF)

Чтобы найти форумы только в нужной доменной зоне, например, в ru, перед запросами используйте такую конструкцию:

site:.ru

Чтобы получилось так:

site:.ru строительство "Powered by vBulletin"

Или так (чтобы искать только сайты в зоне by):

site:.by здоровье "Создано на основе phpBB"

Вместо названия тематики можно использовать нужный вам поисковый запрос, например:

site:.ru строительство фундамента "Powered by vBulletin"

Можно использовать такой вариант:

site:.ru "посоветуйте хостинг" (поиск только по сайтам в зоне ru)

Или такой:

site:.ru inurl:viewtopic "посоветуйте хостинг" (поиск по темам на форумах в зоне ru)

Другие примеры использования расширенных операторов:

intitle:фитнес (поиск по страницам, в title которых есть нужный запрос)

inurl:blog (поиск по страницам, адреса которых содержат слово "blog")

какой кондиционер * (поиск по всем запросам, которые начинаются на "какой кондиционер"):

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

В принципе, расширенные операторы можно не запоминать, а просто переходить в расширенный поиск Гугла:

Или Яндекса:

После этого вам будут доступны расширенные возможности по поиску информации.

Отличный сервис, который позволит получать на e-mail информацию о всех новых материалах, которые публикуются в интернете по указанному вами ключевому слову.

Можете поиграться с настройками и выбрать подходящие для вас.

Аналог Google Оповещений. Функционал практически такой же:

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

Онлайн сервис от разработчиков BuzzBundle, который является альтернативой программе. Я им постоянно пользуюсь.

Позволяет мониторить все упоминания вашего сайта, сайтов конкурентов или продвигаемых вами запросов в следующих источниках:

По промокоду 49DD8B10CA вы получите скидку 20% на все тарифы.

Настройка уведомлений в awario выглядит так:

Сервис линкбилдинга на Запад и СНГ.

Можно заказать следующие услуги:

  • Крауд-ссылки
  • Тематические пакеты
  • Создание PBN-сеток под ключ
  • Ручное размещение в каталогах
  • Ссылки с Яндекс Знатоков, Коллекций и Районов
  • Отзывы для AppStore и Google Play
  • Отзывы на сайтах-отзовиках
  • Ссылки с Quora и Reddit
  • Аутрич

Промокод "shakinru" дает скидку 10% на все услуги, кроме аутрича.

Стоимость одной ссылки составляет 199 рублей. Эта сумма включает в себя поиск и подбор подходящего сайта с индексируемыми ссылками, регистрацию и "прокачивание" профиля, написание и публикацию сообщения со ссылкой на продвигаемый ресурс.

По промокоду SHAKIN на ваш баланс зачисляется 199 рублей. Средства можно использовать для покупки 1 естественной ссылки для теста сервиса.

"Прокачка" профиля может занять несколько недель. В среднем на выполнение задания требуется от 5 до 15 дней. Гарантия на размещенные ссылки составляет 3 месяца. Если в этот период ссылка будет удалена, то сервис автоматически поставит задачу на ее замену бесплатно.

Сервис естественного продвижения сайтов. Стандартная стоимость одной ссылки составляет 269 рублей. Для пакетов от 80 ссылок и выше, предусмотрена специальная цена - 250 рублей за 1 ссылку.

По этому промокоду можно получить скидку 5%:

Минимальный тариф - $200 за 50 ссылок.

Поддерживаются следующие сервисы:

У данного сервиса есть проект под англоязычное продвижение http://brandcitations.com/ .

Для получения естественных ссылок для англоязычных сайтов есть сервис http://www.themention.net/. По коду 33871010 при оформлении заявки можно получить на нем 5% скидку.

Краудлинкс поддерживает форумы, блоги, сервисы вопросов и ответов (включая Ответы Mail.ru), а также все популярные социальные сети рунета.

Тарифы начинаются от 9 тысяч рублей за 50 ссылок.

Вся отчетность ведется в системе, можно выгружать отчеты в формате CSV.

Есть возможность привязать Яндекс Метрику и изучать, сколько людей перешло по размещенным ссылкам. Нужно учитывать, что данные по переходам приблизительные, так как часть ссылок может быть с редиректом, часть ссылок может быть текстовыми, по которым узнать точное число переходов невозможно.

Поддерживаются такие ресурсы, как:

Данный сервис гарантирует сохранность выполненных заданий на срок:

  • 1 год для блогов;
  • 6 месяцев для форумов;
  • 4 месяца для социальных сетей.

На момент публикации этого поста минимальная стоимость размещения темы на форуме через Форумок составляет 40 рублей, отзыв в теме – от 30 рублей, скрытый пиар в существующей теме – от 30 рублей, просмотр видео на Youtube и публикация комментария – от 5 рублей.

Тарифы начинаются с $49 за 50 ссылок.

Многие знают этот ресурс как биржу для заказа статей. Я сам там заказываю. Там также можно заказывать публикацию комментариев и отзывов на сторонних ресурсах. Для этого при создании заказа выберите указанный пункт:

Подробный пример заказа можно найти в пункте "Помощь в настройке заказа":

На Advego также есть возможность создать тендер и выбирать подходящие по качеству форумные профили исполнителей (на скриншоте выше есть пункт с подробным описанием "Как работать с тендерами").

На этом сервисе есть хороший форум, где можно найти ответы на все возникающие вопросы.

Минимальная стоимость заказа: $0,17 за тему объемом 100 знаков. Рекомендуемая стоимость заказа: от $0,5 за тему объемом 100 знаков.

We are using HTML5 APIs. Always. Plupload is based on multi-runtime pollyfills for XMLHttpRequest L2 , File and Image APIs. So when there"s no HTML5 available in the browser, we emulate it ourselves.

mOxie (combined code-name for pollyfills) is completely standalone and available separately.

Drag"n"Drop Files from Desktop

Files not only can be picked from browse dialog, but also can be dropped directly from the desktop. In some browsers, mostly in those based on WebKit, it is possible to drag and drop whole folders.

Notice: feature will not work in some legacy browsers.

Access Raw File Data

Since we emulate as much of HTML5 as possible, we are able (among other things) to provide access to raw file data, even in such environments that do not normally support it. One of the biggest benefits of this is that we can display the thumbnails instantly, right as you select the images in the dialog or drag&drop them from the desktop.

Shrink Images on Client-Side

In some cases you would want to upload the image only to turn it into a tiny thumbnail or avatar (like 90x90). Then why waste the bandwidth? Wouldn"t it be great if you could do it right there, on client-side, just before the actual upload? That"s exactly what we can do. This feature can be applied in a broader scope than just avatars, but that"s where it is at its best.

Upload in Chunks

Files that have to be uploaded can be small or huge - about several gigabytes in size. In such cases standard upload may fail, since browsers still cannot handle it properly. We slice the files in chunks and send them out one by one. You can then safely collect them on the server and combine into original file.

As a bonus this way you can overcome a server"s constraints on uploaded file sizes, if any.

Translated to 30+ Languages

It started with just several, and now we already have tens. In order to manage them better and avoid common mistakes and typos as much as possible, we moved our internatianalization (i18n) facilities to Transifex . If you think that translation for your language can be better or your language is not in our database at all, you are welcome to contribute. We will include the translation in all consequent releases.