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

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

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

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

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

Категории

Все категории
Loading categories
POC-WP-XSS2Shell-CVE-2026-64638 — Функциональный PoC для CVE-2026-64638 (XSS2Shell): цепочка от pre-auth XSS до RCE в WordPress Core. Лаборатория Docker + Python-сервер атакующего + технический анализ и меры по смягчению. | Kitploit
Инструменты/GitHubGitHub/686f6c61/poc-wp-xss2shell-cve-2026-64638
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHub686f6c61/poc-wp-xss2shell-cve-2026-64638

POC-WP-XSS2Shell-CVE-2026-64638

Функциональный PoC для CVE-2026-64638 (XSS2Shell): цепочка от pre-auth XSS до RCE в WordPress Core. Лаборатория Docker + Python-сервер атакующего + технический анализ и меры по смягчению.

Репозиторий
1202 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

XSS2Shell — PoC для CVE-2026-64638

Образовательное Proof of Concept цепочки XSS2Shell (CVE-2026-64638), уязвимость XSS → RCE до аутентификации в ядре WordPress, обнаруженная независимо pwn.ai и опубликованная 7 августа 2026 года.


Содержание

  1. Краткое описание
  2. Правовое уведомление
  3. Архитектура цепочки
  4. Требования
  5. Структура репозитория
  6. Краткое руководство по использованию
  7. Проверка эксплуатации
  8. Дополнительная документация

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

CVE-2026-64638 — уязвимость типа cross-site scripting (XSS) отражённая, до аутентификации, на экране входа в WordPress (wp-login.php). Затрагивает все поддерживаемые версии WordPress до 7.0.3, выпущенной 6 августа 2026 года как экстренный security release. Ей присвоен CVSS v4.0 8.9.

Цепочка, названная XSS2Shell, показывает, как, отталкиваясь только от неудачной попытки login с подделанным username, атакующий может:

  1. Внедрить активные DOM-элементы на страницу login, используя расхождение между двумя синтаксическими анализаторами: PHP (strip_tags) и WordPress (wp_kses_post).
  2. Перехватить поток выполнения собственного JavaScript WordPress (user-profile.js), чтобы выполнить запрос REST JSONP к тому же источнику.
  3. Превратить JSONP-ответ в выполнение JavaScript в источнике WordPress с помощью jQuery.globalEval().
  4. Связать всё это с техникой Same Origin Method Execution (SOME) Паулоса Йибело (2022), чтобы автоматически нажать кнопку одобрения Application Passwords в аутентифицированной сессии администратора.
  5. Захватить полученный Application Password, опубликовать страницу с вредоносным JavaScript и, наконец, загрузить plugin в формате ZIP, который выполняет PHP на сервере.

Результат — удалённое выполнение кода (RCE) на сервере WordPress под пользователем web-процесса (обычно www-data), начиная с единственного click администратора по контролируемой атакующим ссылке.


Правовое уведомление

Этот репозиторий содержит строго образовательные и защитные материалы.

  • Назначение: демонстрация цепочки эксплуатации в целях обучения, собственного аудита и валидации патчей.
  • Авторизованное использование: запускайте только против установок WordPress, которые принадлежат вам или на которые у вас есть явное письменное разрешение.
  • Запрещено: любое использование против систем третьих лиц без согласия. Автор репозитория не несёт ответственности за неправомерное использование материалов, включённых сюда.
  • Ответственность: оператор несёт единоличную ответственность за соблюдение применимого законодательства (LOPD/RGPD в Испании, CFAA в США и т. д.).

PoC поставляется с самодостаточным Docker-окружением, единственное назначение которого — служить локальной и воспроизводимой целью.


Архитектура цепочки

┌─────────────────────────────────────────────────────────────────────┐
│  1. XSS pre-auth en wp-login.php                                    │
│     log=< area id=ajaxurl href=/?rest_route=/&_jsonp=...>           │
│     (discrepancia strip_tags ↔ wp_kses_post)                        │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  2. user-profile.js dispara .trigger('click')                       │
│     DOM clobbering de ajaxurl → petición POST al origen             │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  3. REST JSONP responde application/javascript                      │
│     jQuery.globalEval() ejecuta el callback en el origen WP         │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │  callback = window.opener
                                           │            .approve.click
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  4. SOME: click() cruza la frontera opener→admin                    │
│     authorize-application.php#approve se pulsa en sesión admin      │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  5. WP crea Application Password → redirige a success_url           │
│     El atacante captura user_login + password en callback.php       │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │  HTTP Basic REST
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  6. POST /wp-json/wp/v2/pages  → publica página con <script>        │
│     El admin visita la página → JS en origen WP con sesión admin    │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  7. fetch update.php?action=upload-plugin  → sube payload.zip       │
│     PHP del plugin es accesible directamente sin activarlo          │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  8. RCE confirmada: GET /wp-content/plugins/payload/shell.php       │
└─────────────────────────────────────────────────────────────────────┘

Требования

PoC создана для запуска на macOS или Linux с:

  • Docker 24+ и Docker Compose v2 (для локальной цели).
  • Python 3.9+ (для опционального оркестратора).
  • PHP 8.1+ с расширением zip (для ручной сборки payload, опционально; уже собранный ZIP включён в payload/).
  • Современный браузер на основе Chromium или Firefox.

Устанавливать WordPress вручную не требуется: docker-compose.yml поднимает уязвимый WordPress 7.0.2 (последняя версия до патча) вместе с MariaDB.


Структура репозитория

POC XSS2Shell (CVE-2026-64638)/
├── README.md                       ← Este archivo
├── docker-compose.yml              ← Blanco: WordPress 7.0.2 + MariaDB
├── .env.example                    ← Variables de configuración
├── exploit.py                      ← Orquestador en Python (opcional)
├── attacker/                       ← Infraestructura del atacante
│   ├── index.html                  ← Página cebo con la cadena SOME
│   ├── callback.php                ← Receptor de la Application Password
│   └── server.py                   ← Servidor estático + PHP embebido
├── payload/                        ← Plugin ZIP malicioso
│   ├── build_payload.py            ← Generador del ZIP
│   ├── shell.php                   ← Webshell mínimo
│   └── payload.zip                 ← ZIP preconstruido (listo para usar)
└── docs/
    ├── ANALISIS.md                 ← Análisis técnico detallado
    └── MITIGACION.md               ← Guía de mitigación y hardening

Краткое руководство по использованию

1. Запуск цели (уязвимый WordPress 7.0.2)

cp .env.example .env
docker compose up -d

WordPress станет доступен по адресу http://localhost:8080. Пройдите мастер установки и создайте пользователя администратора (например admin / admin-password).

Скачать инструмент