
# Read-only CLI для проверки того, подвержен ли сайт WordPress уязвимости WP2Shell (CVE-2026-63030 / CVE-2026-60137)
Инструмент командной строки, который проверяет, подвержен ли сайт на WordPress уязвимости WP2Shell (CVE-2026-63030 и CVE-2026-60137). Он считывает версию WordPress и поверхность REST API с помощью запросов только на чтение и выдаёт вердикт. Он ничего не эксплуатирует.
[!WARNING] Только для авторизованного тестирования. Используйте его на сайтах, которыми вы владеете или на проверку которых имеете письменное разрешение. Автор (
DanSec) не несёт ответственности за неправомерное использование или ущерб.
WP2Shell объединяет SQL-инъекцию (CVE-2026-60137) с ошибкой пакетного обработчика REST
(CVE-2026-63030) через конечную точку /wp-json/batch/v1, что даёт неаутентифицированное удалённое
выполнение кода на стандартной установке WordPress. Обе CVE находятся в каталоге известных эксплуатируемых уязвимостей CISA.
| Ветка | Уязвимая | Исправлено в |
|---|---|---|
| 6.9.x | с 6.9.0 по 6.9.4 | 6.9.5 |
| 7.0.x | с 7.0.0 по 7.0.1 | 7.0.2 |
| 7.1 и новее | не затронута | н/д |
Требуется Python 3.8+.
pip install -r requirements.txt
Требуются requests и rich. sublist3r необязателен (перечисление поддоменов).
Для более широкого перечисления установите subfinder
(бинарный файл Go, не pip) и передайте --subfinder.
# Проверить один хост
python wpScanner.py example.com --passive
# Перечислить поддомены корневого домена и проверить каждый
python wpScanner.py example.com --subfinder --threads 8
Результаты также записываются в CSV. Когда источники версии расходятся, инструмент классифицирует по
наименьшей из них, чтобы избежать ложного «всё чисто». Удалённая проверка не может увидеть бэкпортированный патч, оставивший
строку версии без изменений, поэтому на хостах, которыми вы управляете, wp core version является источником истины.
Обновите ядро до 6.9.5, 7.0.2 или 7.1+ (wp core update). Если вы пока не можете установить патч, заблокируйте
/wp-json/batch/v1 на межсетевом экране и ограничьте анонимный доступ к REST.
Предоставлено только для авторизованного, защитного использования. Вы несёте ответственность за наличие разрешения на проверку любого хоста, на который вы его направляете.
| Опция | Описание | По умолчанию |
|---|
-o, --output | Файл вывода CSV | WP2Shell_output.csv |
--passive | Проверять только указанный хост, пропустить перечисление | выкл. |
--subfinder | Добавить subfinder как источник поддоменов | выкл. |
--threads | Параллельные рабочие процессы | 1 |
--retries | Повторы на хост | 1 |
--rate-limit | Макс. запросов/сек (однопоточный режим, 0 = без ограничения) | 0 |
| Вердикт | Значение |
|---|
VULNERABLE | Затронутая версия, и конечная точка пакетной обработки доступна. |
LIKELY_MITIGATED | Затронутая версия, но конечная точка пакетной обработки выглядит заблокированной или REST отключён. |
PATCHED | Исправленная версия или более ранняя, чем затронутые выпуски. |
VERSION_UNKNOWN | WordPress найден, версию прочитать не удалось. |
NOT_WORDPRESS | Признаков WordPress не обнаружено. |
ERROR | Недоступен или сетевая ошибка. |