Архив метки: Wordpress

Лучший плагин для каталога на WordPress

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

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

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

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

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

Каталог сайтов разместить на ваш сайт очень просто, если вы используете WordPress. Вам просто нужно установить плагин.

 

Ключевые особенности плагина каталога WordPress

Поскольку слово «каталог» очень расплывчато и имеет множество потенциальных приложений, иногда может быть немного сложно найти лучший плагин каталога WordPress для вашего сайта. Поэтому, прежде чем мы перейдем к списку лучших вариантов для рассмотрения, хотим кратко объяснить, что искать в плагине каталога.

  • Варианты оплаты (для тех из вас, кто взимает плату за списки каталогов)
  • Поиск на основе местоположения со встроенными картами
  • Полностью настраиваемые поля формы
  • Простые способы добавления и настройки списков каталогов
  • Способы для клиентов оценивать и анализировать бизнес
  • Бэкэнд инструменты
  • Фронтальные функции представления
  • Короткие коды, которые позволяют легко добавить каталог в любом месте на вашем сайте
  • Медиа поддержка

Вам не обязательно понадобится каждая функция в этом списке. Это действительно зависит от вашей компании, цели вашего сайта и типа каталога, который вы пытаетесь создать. Продолжая изучение этой статьи, вы увидите эти функции и многие другие, предлагаемые плагинами каталогов, которые мы перечислили. Так что используйте этот список в качестве справочного материала, чтобы помочь вам найти лучший плагин каталога WordPress для вашего сайта.

 

1. GeoDirectory

GeoDirectory имеет один из моих любимых интерфейсов поиска среди всех плагинов каталогов на рынке. С GeoDirectory вы можете создать огромный глобальный каталог на вашем сайте. Это отличный вариант для тех из вас, кто ищет бесплатный плагин для каталога WordPress.

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

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

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

Как видно из названия, GeoDirectory интегрирован с Google Maps. Существует большая и интерактивная карта рядом с каждым списком в каталоге. Пользователи могут найти маршруты к местоположению прямо с этой карты, не покидая ваш сайт.

Хотя большинство функций бесплатны, вы можете купить дополнения для таких вещей, как:

  • Платные объявления
  • Отзывы
  • Поддержка нескольких локаций
  • Расширенный поиск
  • События
  • Возможность для компаний «требовать» свои данные

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

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

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

В целом, GeoDirectory — это лучший вариант для тех, кто хочет создать большой и масштабируемый бизнес-каталог.

 

2. Advanced Classifieds & Directory Pro

Его потенциальные приложения кажутся бесконечными. Вы можете использовать его как платформу для объявлений, похожую на Craigslist, или пойти совершенно в другом направлении и использовать этот плагин для чего-то вроде каталога рейтингов фильмов. Возможно, вы хотите добавить на свой сайт каталог путеводителей, каталог свадеб, путеводитель по ресторанам или портал недвижимости. Все эти опции возможны с плагином Advanced ads & Directory Pro для WordPress.

Как и другие плагины в нашем списке, Advanced Ads & Directory Pro можно установить бесплатно. Но он предлагает дополнительные функции премиум-класса, которые вы можете приобрести. Одна из любимых дополнительных функций — слайдер списков.

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

Advanced Classifieds & Directory Pro позволяет вам организовать списки по категориям, что вы должны воспользоваться. Виджеты расширенного поиска также доступны в разделе «Расширенные объявления» и «Справочник Pro», поэтому пользователи могут сузить свои параметры по категориям, местоположению, ключевым словам и т. д. Все эти гибкие функции делают это одним из лучших плагинов каталога WordPress, с которыми вы столкнулись.

 

3. Плагин Business Directory

Business Directory Plugin является вариантом все-в-одном для WordPress каталогов. Он предлагает некоторые ключевые функции, которые мы ищем в плагине каталога:

  • Медиа поддержка
  • Индивидуальные поля формы
  • Процесс оплаты

Вы также можете приобрести дополнения для расширения своего каталога с помощью бизнес-каталога плагинов.

У них есть надстройки для премиум-функций, таких как:

  • 2 шлюза оплаты
  • Коды скидок
  • Возможность для предприятий требовать списки на вашем сайте, аналогично Yelp
  • Интеграция с Google Maps
  • Модуль вложения файлов
  • Шлюз PayPal
  • Рейтинги

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

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

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

 

4. LDD Directory Lite

LDD Directory Lite чрезвычайно прост в установке, а это значит, что вы можете за несколько минут запустить и запустить каталог на своем сайте.

Это еще один бесплатный плагин для каталога WordPress с дополнительными опциями, доступными для покупки. По сравнению с некоторыми другими плагинами, эти премиальные обновления довольно недороги — от 10 до 20 долларов.

Шорткод LDD Directory Lite позволяет вам добавить каталог на любую страницу или пост на вашем сайте WordPress. После добавления шорткода каталог создается автоматически. Это решение делает его одним из самых легких (отсюда и название) доступных плагинов каталогов.

После того, как плагин установлен, у вас есть бесконечные варианты настройки. Вы полностью контролируете, как каталог выглядит и чувствует себя на вашем сайте. Некоторые из лучших дополнений включают социальные сети и интеграцию с Google Maps.

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

LDD Directory Lite совместим для внешнего интерфейса. Посетителям сайта легко просматривать ваши списки и перемещаться без каких-либо проблем.

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

 

5. Directories Pro

И последнее, но не менее важное, это плагин Directories Pro WordPress. Он чрезвычайно отзывчив и использует кэширование для оптимизации производительности каталогов как с настольных, так и с мобильных устройств.

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

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

Одна из лучших функций Directories Pro — редактор отображения контента. Вам легко использовать параметры редактирования с помощью перетаскивания, чтобы настроить каталог без использования какого-либо кода. Некоторые из других основных функций включают в себя:

  • Интеграция карт
  • Платные объявления
  • Претензии
  • CSV импорт и экспорт
  • Индивидуальные уведомления по электронной почте

С помощью каталогов Pro клиенты могут оценивать и просматривать списки в вашем каталоге без необходимости регистрации, входа или создания учетной записи. Таким образом, вы, вероятно, получите больше отзывов, которые улучшат ваш каталог.

С этим плагином также легко создавать несколько каталогов. У вас также есть возможность клонировать или перенести ваши каталоги с одного сайта на другой. Все эти функции делают Directories Pro одним из лучших плагинов для каталогов WordPress как для разработчиков, так и для обычных пользователей.

 

Заключение

Существует много разных способов добавить каталог на ваш сайт.

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

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



2019-05-27T10:25:33
Лучшие учебники по Wodpress

[РЕШЕНО] Ошибка обновления WordPress – Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту

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




Причина ошибки




Для начала о причинах появления ошибки «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту» – это не что иное, как заглушка, которая появляется вместо сайта при любом автоматическом обновлении системы, включая обновление плагинов из административной панели сайта.




То есть, если вы попытаетесь открыть сайт, когда идет обновление, вы увидите такую заглушку. Прерванный процесс обновления, по любым причинам, может эту заглушку оставить, а не удалить после завершения обновления. Если мы видим на экране надпись «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту», значит, заглушка не была удалена и осталась в корне сайта.




Заглушка с надписью «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту» это не что иное, как технический файл .maintenance. Он подгружается в корень сайта на период обновления и должен удаляться после завершения обновления.




Как исправить ошибку обновления




Отсюда элементарное решение проблемы:




  • Идем в корень сайта по FTP;
  • Удаляем файл .maintenance;
  • Все проблема решена.




Второе решение проблемы




Если удаление файла .maintenance не помогает, есть другая припарка:




  • Идем в корень сайта по FTP;
  • Ищем wp-activate.php;




В текстовом редакторе в строке:




define("WP_INSTALLING", true);




значение true меняем на значение false.




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




Вывод




Чтобы не «ловить» такие глупые ошибки, следуйте советам системы. На странице обновлений WordPress постоянно пишут, Перед обновлением сделайте резервную копию сайта и базы данных. Не расслабляйтесь, делайте резервную копию сайта и никакие ошибки (белые экраны) не страшны.



[endtxt]



2019-05-24T08:00:55
WEB

Как подготовить свой сайт для Gutenberg и WordPress 5.0?

Задумывались ли вы о запуске Gutenberg на своем веб-сайте WordPress.org (и, наконец, об использовании редактора блоков)? Вы беспокоитесь о возможных последствиях, которые это может иметь для вашего сайта?

Gutenberg и WordPress 5.0, также известный как «Bebo», так часто появлялись в новостях в последнее время, что от них трудно уйти. Для многих это стало причиной дебатов и головных болей на этом пути.

С момента запуска в декабре 2018 года люди постепенно начинают видеть преимущества использования Gutenberg. И поскольку это является частью долгосрочного плана для всего вашего сайта, мы знаем, что он здесь, чтобы остаться.

Но многие люди нервничают по поводу его использования. Вы один из них?

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

Прежде чем идти дальше, нам нужно кое-что прояснить. Этот пост НЕ о:

  • Что такое Gutenberg
  • Почему Gutenberg необходим для WordPress
  • Какие проблемы были связаны с Gutenberg
  • Как пользоваться Gutenberg

Нет, это не так.

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

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

Бесплатный хостинг с ISP manager

Меня тут частенько спрашивают, а где взять бесплатный хостинг?




Так вот, ловите: https://bill.aquinas.su/



2019-05-12T02:44:43
wordpress

Удаленное выполнение кода в WordPress 5.0.0

В этом блоге рассказывается, как сочетание уязвимости обхода пути и включения локального файла приводит к удаленному выполнению кода в ядре WordPress. Уязвимость оставалась открытой в ядре WordPress более 6 лет.

 

Влияние

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

 

На кого это влияет?

Уязвимость, описанная в этом посте, стала неиспользуемой другим исправлением безопасности в версиях 4.9.9 и 5.0.1. Однако обход пути все еще возможен и в настоящее время не исправлен. Любой сайт WordPress с установленным плагином, который неправильно обрабатывает записи Post Meta, может сделать использование еще доступным.

Согласно странице загрузки WordPress, Разработанные сайты на вордпресс используется более чем 33% на всех веб-сайтов в Интернете. Принимая во внимание, что плагины могут вновь вызвать проблему и принимая во внимание такие факторы, как устаревшие сайты, количество уязвимых установок по-прежнему исчисляется миллионами.

 

Фон — Управление изображениями в WordPress

Когда изображение загружается на сайт WordPress, оно сначала перемещается в каталог загрузки ( wp-content/uploads). WordPress также создаст внутреннюю ссылку на изображение в базе данных, чтобы отслеживать метаинформацию, такую как владелец изображения или время загрузки.

Эта мета-информация хранится в базе данных Post Meta. Каждая из этих записей является парой ключ/значение, назначенной определенному идентификатору.

 

Пример публикации мета-ссылки на загруженное изображение ‘evil.jpg’

MariaDB [wordpress]> SELECT * FROM wp_postmeta WHERE post_ID = 50;

+---------+-------------------------+----------------------------+

| post_id |        meta_key         |         meta_value         |

+---------+-------------------------+----------------------------+

|   50    |    _wp_attached_file    |          evil.jpg          |

|   50    | _wp_attachment_metadata | a:5:{s:5:"width";i:450 ... |

...

+---------+-------------------------+----------------------------+

В этом примере изображению было присвоено значение post_ID50. Если в будущем пользователь захочет использовать или отредактировать изображение с указанным идентификатором, WordPress будет искать соответствующую мета-запись _wp_attached_file и использовать ее значение, чтобы найти файл в каталоге wp-content/uploads.

 

Основная проблема — записи мета-записей могут быть перезаписаны

Проблема с этими записями Post Meta до WordPress 4.9.9 и 5.0.1 заключается в том, что можно было изменять любые записи и устанавливать для них произвольные значения.

Когда изображение обновляется (например, изменяется его описание), вызывается функция edit_post(). Эта функция напрямую воздействует на массив $_POST.

 

Произвольные мета значения Post могут быть обновлены.

function edit_post( $post_data = null ) {



if ( empty($postarr) )

$postarr = &$_POST;

⋮

if ( ! empty( $postarr['meta_input'] ) ) {

foreach ( $postarr['meta_input'] as $field => $value ) {

update_post_meta( $post_ID, $field, $value );

}

}

 

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

 

Обход пути через модифицированную мета-запись

Обход пути происходит в функции wp_crop_image(), которая вызывается, когда пользователь обрезает изображение.

Функция берет идентификатор изображения для crop ( $attachment_id) и извлекает соответствующую запись _wp_attached_file мета-поста из базы данных.

Помните , что из — за дефекта в edit_post(), $src_file может быть установлен на что-нибудь.

 

Упрощенная функция wp_crop_image(). Фактический код находится в wp-admin/includes/image.php

function wp_crop_image( $attachment_id, $src_x, ...) {



$src_file = $file = get_post_meta( $attachment_id, '_wp_attached_file' );

⋮



На следующем шаге WordPress должен убедиться, что изображение действительно существует, и загрузит его. WordPress имеет два способа загрузки данного изображения. Первый — просто найти имя файла, предоставленное записью _wp_attached_file Meta Post в каталоге wp-content/uploads (строка 2 следующего фрагмента кода).

В случае сбоя этого метода WordPress попытается загрузить изображение со своего собственного сервера в качестве запасного варианта. Для этого будет сгенерирован URL-адрес для загрузки, состоящий из URL-адреса каталога wp-content/uploads и имени файла, хранящегося в записи _wp_attached_file мета-поста (строка 6).

Чтобы привести конкретный пример: если значение, сохраненное в записи _wp_attached_file Post Meta, было evil.jpg, то WordPress сначала попытается проверить, существует ли файл wp-content/uploads/evil.jpg. Если нет, то он будет пытаться загрузить файл со следующего URL: https://targetserver.com/wp-content/uploads/evil.jpg.

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

Обратите внимание, что здесь не проводится никакой дезинфекции. WordPress просто объединит каталог загрузки и URL с пользовательским вводом $src_file.

Как только WordPress успешно загрузит правильное изображение через wp_get_image_editor(), он будет обрезать изображение.

⋮

if ( ! file_exists( "wp-content/uploads/" . $src_file ) ) { // If the file doesn't exist, attempt a URL fopen on the src link.

// This can occur with certain file replication plugins.

$uploads = wp_get_upload_dir();

$src = $uploads['baseurl'] . "/" . $src_file; } else {

$src = "wp-content/uploads/" . $src_file;

}



$editor = wp_get_image_editor( $src );

Обрезанное изображение затем сохраняется обратно в файловую систему (независимо от того, было ли оно загружено или нет). Полученное имя файла $src_file будет возвращено пользователем get_post_meta(), который находится под контролем злоумышленника. Единственное изменение, внесенное в результирующую строку имени файла, заключается в том, что к базовому имени файла добавляется cropped-(строка 4 следующего фрагмента кода). Чтобы следовать примеру evil.jpg, результирующее имя файла будет cropped-evil.jpg.

WordPress затем создает любые каталоги в результирующем пути, которые еще не существуют через wp_mkdir_p() (строка 6).

Затем он наконец записывается в файловую систему с использованием save()метода объекта редактора изображений. Метод save() также не выполняет Path Traversal проверки по данному имени файла.

⋮

$src = $editor->crop( $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs );



$dst_file = str_replace( basename( $src_file ), 'cropped-' . basename( $src_file ), $src_file );



wp_mkdir_p( dirname( $dst_file ) );



$result = $editor->save( $dst_file );

 



Идея

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

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









Локальный файлСкачать HTTP
Загруженный файлevil.jpgevil.jpg
_wp_attached_fileevil.jpg? shell.phpevil.jpg? shell.php
Результирующий файл, который будет загруженWP-содержание / добавления / evil.jpg? shell.phphttps://targetserver.com/wp-content/uploads/evil.jpg?shell.php
Фактическое местоположениеWP-содержание / добавления / evil.jpghttps://targetserver.com/wp-content/uploads/evil.jpg
Результирующее имя файлаНет — загрузка изображения не удаласьevil.jpg? обрезаны-shell.php

 

Идея заключается в том, чтобы установить _wp_attached_fileв evil.jpg?shell.php, что привело бы к запросу HTTP Делаем по следующему адресу: https://targetserver.com/wp-content/uploads/evil.jpg?shell.php. Этот запрос вернул бы действительный файл изображения, так как все, что после, ? игнорируется в этом контексте. Полученное имя файла будет evil.jpg?shell.php.

Однако, хотя метод save() редактора изображений не проверяет атаки Path Traversal, он добавляет расширение типа mime изображения, загружаемого к результирующему имени файла. В этом случае результирующее имя файла будет evil.jpg?cropped-shell.php.jpg. Это делает вновь созданный файл безвредным снова.

Тем не менее, все еще возможно поместить полученное изображение в любой каталог, используя полезную нагрузку, такую ​​как evil.jpg?/../../evil.jpg.

 

Использование обхода пути — LFI в каталоге тем

Каждая тема WordPress представляет собой просто каталог, расположенный в каталоге wp-content/themes в WordPress, и предоставляет файлы шаблонов для разных случаев. Например, если посетитель блога хочет просмотреть сообщение в блоге, WordPress ищет файл post.php в каталоге текущей активной темы. Если он найдет шаблон, он сделает include().

Чтобы добавить дополнительный уровень настройки, можно выбрать собственный шаблон для определенных сообщений. Для этого пользователь должен установить запись _wp_page_template Post Meta в базе данных с таким пользовательским именем файла. Единственным ограничением здесь является то, что редактируемый файл include() должен находиться в каталоге текущей активной темы.

Обычно к этому каталогу нельзя получить доступ, и никакие файлы не могут быть загружены. Однако, злоупотребляя вышеописанным обходом пути, можно внедрить вредоносное изображение в каталог используемой в настоящее время темы. Затем злоумышленник может создать новую запись и использовать ту же ошибку, которая позволила ему обновить запись _wp_attached_file мета-поста в соответствии include() с изображением. Внедрив PHP-код в изображение, злоумышленник получает произвольное удаленное выполнение кода.

 

Создание вредоносного образа — GD vs Imagick

WordPress поддерживает два расширения для редактирования изображений для PHP: GD и Imagick. Разница между ними заключается в том, что Imagick вовсе не разделяет метаданных изображения EXIF, в котором PHP код может быть сохранен. GD сжимает каждое редактируемое изображение и удаляет все метаданные exif. Это результат того, как GD обрабатывает изображения.

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

 

Резюме

В этом посте подробно рассказывается об удаленном выполнении кода в ядре WordPress, которое присутствовало более 6 лет. Оно стало непригодным для использования с патчем для другой уязвимости, о которой сообщает RIPS в версиях 5.0.1 и 4.9.9. Однако обход пути все еще возможен и может использоваться, если установлен плагин, который все еще позволяет перезаписывать произвольные данные поста.

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



2019-05-11T06:34:57
Лучшие учебники по Wodpress

Защита сайтов на WordPress с помощью Fail2Ban

Ваши сайты на WordPress пытаются ломать?

Мой VDS находится под мониторингом Zabbix’а. Вчера я стал активно получать на почту сообщения о большой загрузке сервера.

Я не выдержал и зашел на Zabbix посмотреть графики загрузки.

CPU Utilization

Читать