[Безопасность] Уязвимость в Wp Downloads Manager 0.2

По сведениям от BlogSecurity, плагин Downloads Manager от Giulio Ganci (не путать с WP-DownloadManager от ЛестерЧана) содержит в себе уязвимость, позволяющую злоумышленнику удалённо загрузить и выполнить на сервере произвольный php-скрипт.

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

Если вдруг у вас стоит данный плагин, то желательно снести его от греха подальше. Хоть уязвимость и найдена в версии 0.2 (а текущая 1.0 RC1), но сохраняется вероятность наследования эксплойта новыми версиями.

wp Download Manager small

А вот так выглядит сам плагин 😀

[Plugins] Обзор плагинов — выпуск 1

На работе редкостная скукота, не смотря на то, что понедельник. Да и вообще я уже наметил увольняться, а то сидеть и тухнуть в бесперспективном месте — не для меня.

Этим постом думаю начать серию кратких обзоров новых плагинов. Постараюсь отбирать те, которые могут представлять интерес для конечного пользователя именно российского сегмента, так как не думаю, что "виджет показывающий что-то из вашего профиля в Facebook" будет особо актуален. Обзоры будут краткими, т.с. превьюшки со ссылками, и в большинстве своём "на себе" я плагины не буду тестировать, поэтому отзывы в комментариях приветствуются. А если будут какие-то проблемы с установкой/настройкой плагина, то пишите там же — если проблемка не тривиальная, то будем решать её отдельным постом с описанием и картинками.

Yank Widget (v.1.0)

Версии WordPress: с 2.5 по 2.6

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

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


TinyMCE Entities Patch (v.1.0)

Версии WordPress: все версии ветки 2.5.x

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

Если вы пишете посты в визуальном редакторе и вам требуется отобразить код html-спец.символов (например, &gt; — > ,&lt; — <, &quot; — "), то начинается целая борьба с редактором, так как он автоматически преобразует коды в сами символы.

Собственно плагин позволяет:

1. Вводить коды html-спец. символов (т.н. html-entities) в виз.редакторе, без боязни их преобразования после сохранения.

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

Думаю, для пользователей виз.редактора, пишущих про html — это полезный патчик, а остальным можно его пропустить.

Важно! Если вы поставили себе WordPress 2.6, то там, в визуальном редакторе уже исправлена эта ошибка, поэтому не устанавливайте и/или отключите этот плагин. (Ещё один повод перейти на новую версию :D)


Context Ad Wrapper (v.0.2)

Версии WordPress: все выше 2.2.0

Плагин для пользователей контекстной рекламы — позволяет указать какаю часть страницы следует рассматривать, как источник контекста, чтобы выдавать более релевантные объявления. Например можно исключить из просмотра весь сайдбар с всякими "спонсорскими линками", "топом комментаторов". Повышаем релевантность — повышаем кликабельность объявлений.

На данный момент плагин работает со следующими конторами:

  1. Google Adsense
  2. Amazon.com Context Links
  3. Kontera ContextLink
  4. MediaText

Жаль, что нет РСЯ и Бегуна, но я вообще не уверен, что там можно указывать контентные блоки, для более качественной отдачи объявлений.


EasyBan (v.1.2.3.1)

Версии WordPress: с 2.5 по 2.5.1

Позволяет забанить посетителя временно или навсегда по следующим параметрам: IP (отдельно или диапазон адресов), домену или реф.ссылке. 

image

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

До следующих выпусков. Удачи.

10 Вещей, которые Вам стоит знать о WordPress 2.6

Продолжу публиковать переводы из серии «10 Вещей» от Аарона Бразелла (оригинал статьи). Перевод наполнен ссылками и комментариями от меня, в тех местах, где определения могли бы быть, на мой взгляд, не совсем понятны читателю.


WordPress 2.6 уже совсем рядом (похоже, что появится уже где-то на следующей неделе) (сегодня как раз релиз), и, как обычно, нас ожидает куча изменений, усовершенствований и улучшений, которые появятся в этой версии. По моему мнению, это не совсем релизная версия. И хотя в ней достаточно крупных нововведений, обычно идущие в основных релизах, большая часть релиза представлена различными улучшениями, которые чаще всего появляются в подверсиях (версиях с «точкой», аля 2.3.3). Вещи типа улучшения безопасности. Есть подозрения, что WP 2.6 хотят выпустить сейчас, чтобы уже ранней осенью порадовать нас WordPress 2.7 и интегрировать в него фичи, разработанные в рамках проекта Google Summer of Code.

И всё же, и сейчас существует значительное количество новых функций, которые мне показались интересными.

Поддержка Google Gears

Gears — это технология от Google, позволяющая браузеру Firefox (кажется и IE 6 тоже, но я не уверен) пре-кэшировать страницы и ускорять доступ к ним. Gears теперь встроен в WordPress 2.6 в админ-панель и ощутимо ускоряет работу с ней. Это особенно важно для тех мест, где широкополосный доступ в интернет ограничен или недоступен (например, страны третьего мира). Чтобы включит Gears в вашем WordPress 2.6, кликните на ссылку Turbo в правом верхнем углу админ панели.

Функционал редакторов XML-RPC

Не привлекая особого внимания, новая функциональность вкралась в разработку WordPress и вызвалала интереснейшие дискуссии среди разработчиков. В цикле разработки, XML-RPC и Atom Pub API для удаленного управления были отключены по умолчанию, как «предосторожность, повышающая безопасность», так как большинство из последних проблем с безопасностью в WordPress были связаны с протоколом XML-RPC.

Дэниэл рассмотрел этот момент в своём блоге в несколько озлобленном тоне, потому что у него есть личный интерес в продвижении десктопного клиента для блогов. Он является разработчиком очень приятного клиента MarsEdit под Мак, который, кстати, я и использую, при написании этого поста. Он начал борьбу, подключив к ней сторонников из числа разработчиков WordPress, и в результате добился компромиса. Новая установка WordPress 2.6 будет содержать опцию для включения XML-RPC, а обновляемые блоги (когда установка идёт «поверх») сохранят свои старые настройки, т.е. XML-RPC будет включен.

Remote Publishing menu in WP 2.6

Это очень важный сдвиг в мышлении блогеров относительно методов письма. Большинство из нас просто хотят писать. Нам не хочется беспокоиться о технических аспектах поддержания работоспособности блога. Это та философия, которой придерживается команда b5media, где я работаю уже очень давно над тем, чтобы построить сеть блоггеров, которые бы могли просто писать, не озобачивая себя логикой поддержки, апгрейдов, монетизации и т.п. К сожалению, пока что большинство блоггеров не технари, а вот их злостные противники очень даже технически образованы и ищут пути для атаки блогов и других вебсайтов. XML-RPC и APP предоставляют место приложения их усилий и несмотря на свою защищённость, в последнее время они оказались местом полным эксплойтов. Отключение функционала, который не всегда используется конечными пользователями, играет большую роль в повышении защищенности блога.

Блоггеры могут включить или выключить функционал через страницу Settings > Writing в админ-панели и большинство десктопных редакторов всё ещё поддерживают лишь XML-RPC протокол, так что, если вы точно не используете Atom Publishing Protocol, то возможно будет лучше оставить включенным только XML-RPC.

Контроль версий постов.

Разработчики знакомые с Subversion или SVN понимают концепцию контроля версий. Сравнивайте один файл или ревизию с другим файлом или ревизией и отслеживайте разницу между ними. При помощи GUI приложений разработчики могут наблюдать подсвеченый код: красный против зеленого (удаленное против добавленного).

Эта концепция теперь применима и к постам, так что вы можете отслеживать разницу между постами, так же как и всегда вернуться к более ранней версии. И полностью влюбился в это нововведение и вы можете посмотреть на пример «сравнения ревизий» встроенный прямо в WordPress.

Post Revision in WP

Безопасность SQL- $wpdb->prepare()

Возвращаясь к WordPress 2.3, где функция prepare() впервые была озвучена, но практически не примененялась… до сих пор. Метод в тот момент был введен как экспериментальный и не был готов для реального применения. Мы стали замечать, что в WordPress 2.5 местами уже стали мелькать вызовы этой функции, а в WordPress 2.6 её уже используют повсеместно.

Смысл работы prepare(), если позволите мне на минутку поумничать, заключается в предварительной чистке SQL-кода, таким образом, чтобы предотвратить SQL инъекции. Так что, разработчики плагинов, должны плясать от счастья от введения этого метода (часть $wpdb класса). Но не только они должны быть счастливы, но с позиции конечного пользователя можно судить, что и вы будете использовать её постоянно.

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

Shift-клик для выбора нескольких чекбоксов в админ-панели.

Внутренняя часть WordPress продолжает эволюционировать после релиза радикально переделанной админки в WP 2.5, а вместе с ней улучшается и юзабилити.

Одно из лучших юзабилити нововведений в WordPress 2.6 — способность выбирать сразу несколько пунктов меню (в виде чекбоксов) при нажатом Shift’е. Скажем, к примеру, вы хотите почистить список категорий, который несколько перегружен (как было в моём случае), просто перейдите на страницу управления категориями, выделите первую категорию, которую собираетесь удалить (посты после этого перейдут в категорию по умолчанию) и Shift-клик на пункт ниже в списке. Магическим образом все пункты между этими двумя будут выделены.

Подобный подход, естественно, работает с любыми списками в админ-панели.

Больше настроек аватаров.

В связи с преобретением Automattic’ом (фирма разработчик WordPress) фирмы Gravatar в прошлом году, встроенная поддержка Gravatar‘ов появилась в WordPress 2.5. WordPress 2.6 предоставит блоггерам ещё больше настроек, разрешив выбирать аватар «по умолчанию». Сразу после установки этим аватаром будет «Mystery Man», серый аватар с белым силуэтом на нём. Так же аватарой по умолчанию может быть «пустота» (ну с этим понятно), лого Gravatar, Identicons, Wavatars или MonsterID.

gravatar logo Identicons Wavatars MonsterID

Аватары на выбор: лого Gravatar, Identicons, Wavatars, MonsterID.

Все они уже некоторое время применялись на WordPress.Com и теперь доступны всем нам. Если интересует больше информации, Мэтт написал пост для WP.com комьюнити, с которым вам следует ознакомиться. Есть, конечно и отличия: пользователям WordPress.com доступны «аватары из доски объявлений» (как я понимаю выбор аватар прямо в dashboard’е), чего нет в версии WP для конечного пользователя (в англ. варианте WPFROU — WordPress for the Rest of Us).

Шаблоны страниц через XML-RPC.

В дополнение к XML-RPC/APP мере безопасности, о которой сказано выше, новая ключевая функциональность стала доступна для софта, работающего через API(и так же, если подумать, демонстрирует мощь содержащуюся в XML-RPC и почему вы возможно захотите его отключить, если не пользуетесь им). XML-RPC интерфейс теперь позволяет управлять шаблонами страниц напрямую из desctop-редакторов. Если я не ошибаюсь, то пока что нет редакторов, которые бы это поддерживали.

Между тем, всё больше и больше возможностей удалённо отправлять в блог посты с таких сервисов как YouTube, Utterz и т.п. Ни один из этих сервисов пока что не применяет эту возможность, однако, я хочу отметить, что раз они могут постить удалённо что угодно, то это даёт возможность и внешнему мир сможет это делать.

Так же вполне вероятно, что вскоре оффлайн редакторы для WordPress будут снабжены копией админ-панели, и теперь мы ещё на один шаг ближе в этом направлении.

Press This

Press this! (тут как я понимаю игра слов — press — нажимать и постить/печатать/пресса) — нововведение с уже хорошо известной концепцией. Букмарклеты. На самом деле, в WordPress уже реализованна возможность создание букмарклета для быстрого вызова меню нового поста, прямо из тулбара браузера, но функциональность была ограничена.

Возможности Press this! рулит, в основном, потому что позволяет пользователю, находясь на любом сайте, кликнуть по букмарклету и вызвать миниатюрную версию админки WordPress с возможностью вставить текст, фото со страницы, цитаты или видео.

Press This! Screenshot

Встроенный предпросмотр тем.

Предпросмотр тем был серьёзной проблемой для дизайнеров тем. Как проверить тему и править её, чтобы это не отразилось на остальном сайте? Некоторые пользовались воспетым в веках плагином Theme Preview от Ryan’а. Другие настраивали бета версию сайта, которая была отрезана от остального мира. Множество разных подходов и каждый по своему хорош.

Между тем, для разработчиков тем и блоггеров, желающих посмотреть, как же тема будет смотреться на сайте, с существующим контентом, теперь есть фича предпросмотра тем. Когда вы находитесь на своей странице Design (Внешний вид), кликните на одном из скриншлтов темы и ваш сайт загрузится в окне аля LightBox, где можно будет просмотреть всё в живую. Мне кажется, что разработчиков сильно вдохновила реализация Quick Look в MacOS X Leopard.

Помните когда Technosailor выглядил вот так?

Old Technosailor Preview

Переделка управлением плагинов

Наконец-то интерфейс управления плагинами удостоился капитальной переработки и получил новые функции. Активированные и отключенные плагины теперь отображаются отдельно и, с новой возможностью выбирать несколько элементов при помощи Shift-клик, управлять ими стало действительно просто. Заметьте, что активные плагины можно выключать, а отключенные активировать сразу группами. А отключенные плагины можно не только включить группой, но даже удалить! Подчистите список устаревших плагинов одни кликом. Но… всегда остаётся одно но… не забудьте сделать резервную копию😀


Осилили? Ну что ж, тогда сами для себя решайте стоит ради этого переходить на новую версию или может повременить?

В следующем посте я выложу ряд ссылок, с которыми стоило бы ознакомиться, если вы сомневаетесь в целесообразности обновления до 2.6, а так же просто полезную информацию.

Не работающий nofollow и как бороться со спам-линками в WordPress

Для кого как, но для меня было открытием, что rel=»nofollow», указанное в ссылке, не работает, так как должна. А точнее вес со страницы и бот не идут по ссылке, но вот ключевые слова из ссылки всё равно учитываются при ранжировании.

Товарищь Donncha в качестве примера-доказательства приводит следующее:
кто-то проспамил его блог комментом, где в качестве имени стояло Shih Tzu Checks (ши-тцу — это порода собак такая), а ссылка вела на страничку. И что самое интересное, при поиске по данному ключевику, страница висит в топ10, при том, что в гугле на нее нет ни одного директ линка.

Вот такие вот дела.

Но Donncha не унывает и даёт советы по борьбе с подобными спаммерами:
1. Применять плагин Comment Referrer, который добавляет в письмо для аппрува комментария ссылку, по которой к вам пришёл человек или бот.
comment referrers screenshot
На картинке чётко видно, что страничку искали по слову «Leave a reply», т.е. с целью «оставить коммент». Такое сразу можно в спам отправлять.

2. Установить плагин Delink Comment Author, при помощи которого можно выборочно удалять ссылки с имени автора, для чего рядом с комментом и в админ панели появляются соответствующие ссылки.

3. Использовать плагин Lucia’s Linky Love, позволяющий установить минимальное количество комментариев, необходимое, чтобы ссылка от автора была разрешена к отображению.
Lucia’s Linky Love Admin Panel Screenshot

От себя могу добавить, что есть ещё несколько альтернатив этим плагинам, например:

  • NoFollow Free (русская версия и описание)
  • Comment URL Control — похоже, что тоже самое, что и Delink Comment Author.
  • Nofollow Case by Case — убирает Nofollow со всех комментариев, до тех пор, пока вы в ручную не допишете в конкретный урл dontfollow. Имхо не слишком удобно, но возможно есть и некая автоматизация сего процесса.
  • WP-Ban — банит посетителей по IP, указываемому хосту, а так же рефереру. Позволяет настроить сообщение, выдаваемое забаненному посетителю.
  • Simple Trackback Validation — проверяет трекбэки: сравнивая IP-адрес отправителя трекбэка и сайта, на который ссылается трекбэк, а так проверяет страницу, с которой пришёл трекбэк, на наличие беклинка.

Если вам известны какие-либо ещё способы борьбы со спамом — поделитесь ими в комментариях, а я тогда обновлю пост, если информация будет полезна.

Удачи и поменьше спама и «левых» трекбэков.

[Безопасность] Список дырявых плагинов 2

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

Думаю конечному пользователю (т.е. тебе читатель) не столь интересно какими методами злоумышленники будут тебя ломать, а вот как от этого обезопасится — это уж всенепременно важно. Сегодня в список попали довольно популярные плагины (заодно сделаю мини-обзор), так что спешим обновляться:

  1. WP-People
  2. Плагин, который ищет в тексте поста имена, совпадающие с его базой и линкующий их на соответствующий профиль. Пример работы. Уязвимы версии до 1.6, с сайта же можно скачать Wp-People 1.6.1.
    Вообще пожалуй интересный плагин для создания некоего комьюнити на WordPress.

  3. Simple Forum
  4. simple forum plugin screenshot
    Плагин встраиваемого в WordPress форума. На сайте можно скачать помимо самого форума: локализации (русский язык для последней версии отсутствует, может кто посодействует автору, а?), скины и иконки.
    Если у вас стоит версия плагина «моложе» 2.1 build 237, то выключайте или обновляйте (текущую версию форума можно подглядеть в самом низу форумной страницы).

  5. WP Photo Album
  6. Одна из вариаций реализации фото-альбома для WordPress. Тут можно посмотреть как это работает (сайт автора).
    Уязвимы версии до 1.1, так что скачивайте и обновляйтесь.

  7. Search Unleashed
  8. Ещё один популярный плагин, на этот раз для реализации поиска по всему блогу, а не только постам. Русская версия у Кактуса.
    Взлом зарегистрирован во всех версиях до 2.11, причём забавно то, что на сайте плагина скачать можно только 2.10, зато в других местахрусский вариант) уже предлагают безопасные версии.

  9. Sniplets
  10. Это вообще какая-то мега тулза по замене текста в посте в зависимости от условий, добавление подсветки и т.д. БлогСекьюрити сообщают, что уязвимы версии до 1.1.2, но судя по Version History с сайта — багфикса нет и в текущей (1.2.2) версии, на это же указывает и, например, вот этот взлом.
    Так что, если вы его применяли, то отключаем и/или ищем замену.


Йех, наконец-то удалось что-то написать, а то почти неделю без интернета дома — это какой-то кошмар.
Успел за это время досмотреть аниме Death Note, одноименный фильм и Зеленую милю. Последнее настоятельно советую, если вдруг кто ещё не видел.