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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-22352 — PoC of CVE-2025-22352 | Kitploit
Инструменты/GitHubGitHub/dottak/cve-2025-22352
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubdottak/cve-2025-22352

CVE-2025-22352

PoC of CVE-2025-22352

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

Популярное

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

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

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

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

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

1️⃣ Тип компонента

Плагин WordPress

2️⃣ Детали компонента

Component name ELEX WooCommerce Advanced Bulk Edit Products, Prices & Attributes

Vulnerable version <= 1.4.8

Component slug elex-bulk-edit-products-prices-attributes-for-woocommerce-basic

Component link https://wordpress.org/plugins/elex-bulk-edit-products-prices-attributes-for-woocommerce-basic/

3️⃣ OWASP 2017: TOP 10

Vulnerability class A3: Injection

Vulnerability type SQL Injection (Blind SQL Injection)

4️⃣ Предварительные условия

Менеджер магазина ИЛИ Администратор

5️⃣ Детали уязвимости

👉 Краткое описание

Плагин ELEX WooCommerce Advanced Bulk Edit Products, Prices & Attributes — это плагин, поддерживающий массовое редактирование товаров.

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

Однако результаты SQL-запросов невозможно напрямую проверить, и уязвимость существует в виде метода Blind SQL Injection, где данные извлекаются путем определения истинности или ложности результатов запроса.

👉 Как воспроизвести (PoC)

  1. Перейдите в раздел 'Bulk Edit Products' ('/wp-admin/admin.php?page=eh-bulk-edit-product-attr') из меню WooCommerce в панели управления.
  2. Выберите '==' из тега select в поле Regular Price среди элементов фильтрации товаров.
  3. Введите '1 OR 1=1' в текстовую форму ввода (без одинарных кавычек (')).
  4. Нажмите кнопку 'Preview Filtered Products' внизу, и будут отображены все товары.
  5. С другой стороны, если ввести '1 OR 1=2' в ту же форму ввода, товары вообще не будут отображаться.
  6. Таким образом, вы можете убедиться, что данные ответа различаются в зависимости от истинности или ложности условия SQL-запроса.

👉 Дополнительная информация (необязательно)

[Коренная причина уязвимости]

При выполнении функции ('Preview Filtered Products'), описанной в PoC выше, генерируется следующий пакет.

image

При запросе этого пакета вызывается функция elex_bep_filter_products в файле /wp-content/plugins/elex-bulk-edit-products-prices-attributes-for-woocommerce-basic/includes/elex-ajax-apifunctions.php.

Значение desired_price, содержащее полезную нагрузку SQL-инъекции из данных запроса, выполняется как SQL-запрос через следующую последовательность.

  1. Значение desired_price, содержащее полезную нагрузку SQL-инъекции, напрямую передается в условие запроса и присваивается переменной $price_query.

    product_title_text, range также напрямую передаются в запрос, но поскольку в PoC мы передали полезную нагрузку SQL-инъекции в desired_price, здесь мы объясним только desired_price.

    root@kitploit:~
    // elex-ajax-apifunctions.php at line 1280
    $price_query = " AND meta_key='_regular_price' AND meta_value {$filter_range} {$data_to_filter['desired_price']} ";
    

    image

  2. После этого переменная $price_query добавляется к переменной $sql (строка 1365, #1), а переменная $sql вместе со строкой AND и переменной инициализируют переменную (строка 1379, #2).

image

Таким образом, параметр запроса desired_price, содержащий полезную нагрузку SQL-инъекции, включается в $main_query инструкции $wpdb->prepare( '%1s', $main_query ). В этот момент, поскольку спецификатор формата %1s передает значение $main_query как есть, полезная нагрузка SQL-инъекции вставляется в запрос без экранирования, что приводит к уязвимости SQL-инъекции.

[Реализация и выполнение PoC-кода]

⚠️ PoC-код реализован для получения имени базы данных путем эксплуатации уязвимости Blind SQL Injection с использованием учетной записи менеджера товаров.

  1. Откройте PoC-код в редакторе и введите адрес сайта WordPress и учетные данные менеджера товаров.

image

  1. Затем введите следующую команду для запуска PoC-кода.

    Required modules requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ Демонстрация эксплуатации

video

7️⃣ Ссылки

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22352
Скачать инструмент
$product_type_condition
$main_query

Переменная $sql инициализируется в строке 1257 файла elex-ajax-apifunctions.php.

image

  • Наконец, переменная $main_query передается в качестве аргумента функции prepare, как показано ниже, для выполнения запроса к базе данных.