Написание эксплоитов под WordPress

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Автор: miserylord
Эксклюзивно для форума:
xss.is

Эй, герой вселенной, как ты? miserylord на связи!

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

1.png




Общие положения


Что такое CVE? Common Vulnerabilities and Exposures — это база данных для идентификации уязвимостей в различных программных обеспечениях и системах. Когда кто-то находит уязвимость, ей присваивается уникальный идентификатор CVE. Существует несколько сайтов, которые предоставляют каталог. Мне нравится cvedetails.com — на нем возможна сортировка по дате и множеству других характеристик.


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


Что нужно знать о WordPress перед написанием эксплоитов под него? В таких случаях лучше всего начать с знакомства с документацией Documentation – WordPress.org, поскольку любая система имеет свои особенности. Из нее становится понятно несколько моментов:


  • WordPress — это ядро системы. В самом ядре практически нет уязвимостей. 99% из них встречаются в плагинах (реже в темах). Плагины — это по сути модули, такие подпрограммы или наборы функций, которые добавляются поверх основной системы для расширения ее возможностей. Плагины могут добавлять новые функции или изменять уже существующие. Именно с ними работают эксплоиты.
  • В рамках WordPress существует такое понятие, как шорткоды. Шорткоды — это фрагменты кода, которые позволяют вставлять различные элементы или функциональные блоки в контент, не используя HTML или PHP. Плагины могут предоставлять список шорткодов. В каком-то смысле, это типа API от плагинов. Выглядят они, например, так: [gallery].
  • Еще одно характерное понятие для WordPress — это хуки. Хуки позволяют добавлять или изменять функциональность сайта, не меняя его исходный код. Хуки используются для "подключения" функций к определенным точкам исполнения кода в процессе работы WordPress. Они бывают двух видов: экшен-хуки, которые выполняются в определенные моменты работы WordPress, например, при сохранении поста или загрузке страницы, а также фильтр-хуки, которые используются для изменения данных перед их выводом.
  • В плане безопасности документация рекомендует стандартные практики по валидации данных. Она вводит понятие nonce. Nonce — это уникальный и временный токен, используемый для защиты от атак типа Cross-Site Request Forgery (CSRF). Nonces не являются постоянными — они действительны примерно 12 часов, привязаны к пользователю (каждый пользователь получает свой уникальный nonce) и используются только один раз. Повторное использование токена приведет к ошибке. Защита от CSRF реализована через проверку nonce, который должен совпадать с серверным значением, иначе запрос отклоняется.
  • Описание CVE под WordPress всегда включает роль пользователя. В WordPress есть несколько ролей, каждая из которых имеет различные уровни доступа и прав: Администратор — имеет полный доступ ко всем функциям сайта и настройкам, включая установку плагинов, управление темами, редактирование всех постов и страниц. Редактор — может управлять всеми постами и страницами, но не имеет доступа к настройкам сайта или плагинам. Автор — может создавать и редактировать свои собственные посты, но не может редактировать посты других пользователей. Советник — может оставлять комментарии, но не имеет доступа к созданию или редактированию контента. Подписчик — может только просматривать сайт и оставлять комментарии (если они включены), без возможности редактировать контент или настройки.

Поднимаем рабочее окружение


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

Итак, удобнее всего Скачать
View hidden content is available for registered users!
 
Сверху Снизу