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-2025-13673 — CVE-2025-13673: PoC de Injeção SQL no Tutor LMS + laboratório Docker | Kitploit
Ferramentas/GitHubGitHub/dinosn/cve-2025-13673
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubdinosn/cve-2025-13673

CVE-2025-13673

CVE-2025-13673: PoC de Injeção SQL no Tutor LMS + laboratório Docker

Ver Repositório
2há 3 mesesAinda 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-2025-13673 — Laboratório de Injeção SQL no Tutor LMS

Injeção SQL não autenticada no plugin WordPress Tutor LMS (<= 3.9.6) através do parâmetro coupon_code.

Início Rápido

root@kitploit:~
# 1. Clone and start the lab
git clone https://github.com/dinosn/CVE-2025-13673.git
cd CVE-2025-13673
./setup.sh            # Deploys WordPress + Tutor LMS 3.9.3

# 2. Run the exploit
pip install requests   # only dependency

# Unauthenticated (time-based blind — no credentials needed)
python3 exploit.py http://localhost:8080

# Authenticated (UNION-based — instant extraction)
python3 exploit.py http://localhost:8080 -u testuser -p test123 --all

Detalhes da Vulnerabilidade

CampoValor
CVECVE-2025-13673
AfetadoTutor LMS <= 3.9.6
Corrigido3.9.7
TipoSQL Injection (CWE-89)
CVSS7.5 / 9.3
AutenticaçãoNenhuma (blind) / Assinante (UNION)

Causa Raiz

QueryHelper::prepare_where_clause() constrói cláusulas SQL WHERE com concatenação bruta de strings:

root@kitploit:~
// helpers/QueryHelper.php — VULNERABLE
$value = is_numeric( $value ) ? $value : "'" . $value . "'";

Sem escaping. Uma aspa simples escapa do literal e permite SQL arbitrário.

Vetores de Ataque

Não autenticado: POST / com tutor_action=tutor_pay_now. O hook init do WordPress despacha isso para todos os visitantes. O _tutor_nonce está embutido em todas as páginas do frontend e é válido para sessões anônimas. Extração de dados via SLEEP().

Assinante+: POST /wp-admin/admin-ajax.php com action=tutor_apply_coupon. Retorna JSON com dados UNION SELECT injetados — duas colunas refletidas na resposta para extração instantânea.

Patch (3.9.7)

root@kitploit:~
- $val = is_numeric( $val ) ? $val : "'" . $val . "'";
+ // Value now passed through $wpdb->prepare('%s', $value)

Uso do Exploit

root@kitploit:~
usage: exploit.py [-h] [-u USERNAME] [-p PASSWORD] [--course-id COURSE_ID]
                  [--dump-users] [--db-info] [--options] [--all]
                  [--delay DELAY]
                  url

Modes:
  Default (no -u/-p):  Unauthenticated time-based blind SQLi
  With -u/-p:          Authenticated UNION-based (fast)

Examples:
  exploit.py http://target                            # unauth blind
  exploit.py http://target -u student -p pass --all   # auth UNION

Testando Diferentes Versões

root@kitploit:~
# Test version 3.9.5 (has esc_sql partial mitigation)
./setup.sh 3.9.5

# Test version 3.9.7 (should be fixed)
./setup.sh 3.9.7

Arquivos

ArquivoDescrição
exploit.pyPoC de dois modos: blind não autenticado + UNION autenticado
setup.shImplantação do laboratório com um comando
docker-compose.ymlWordPress 6.7 + MySQL 8.0

Referências

  • Aviso da Wordfence
  • Aviso da Patchstack

Aviso Legal

Apenas para testes de segurança autorizados e fins educacionais.

Baixar ferramenta