Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-13673 — CVE-2025-13673: Iniezione SQL in Tutor LMS PoC + laboratorio Docker | Kitploit
Strumenti/GitHubGitHub/dinosn/cve-2025-13673
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneLab e Pratica
GitHubdinosn/cve-2025-13673

CVE-2025-13673

CVE-2025-13673: Iniezione SQL in Tutor LMS PoC + laboratorio Docker

Vedi Repository
2 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-13673 — Laboratorio di SQL Injection Tutor LMS

SQL Injection non autenticata nel plugin WordPress Tutor LMS (<= 3.9.6) tramite il parametro coupon_code.

Avvio rapido

root@kitploit:~
# 1. Clona e avvia il laboratorio
git clone https://github.com/dinosn/CVE-2025-13673.git
cd CVE-2025-13673
./setup.sh            # Deploy di WordPress + Tutor LMS 3.9.3

# 2. Esegui l'exploit
pip install requests   # unica dipendenza

# Non autenticato (time-based blind — nessuna credenziale necessaria)
python3 exploit.py http://localhost:8080

# Autenticato (UNION-based — estrazione immediata)
python3 exploit.py http://localhost:8080 -u testuser -p test123 --all

Dettagli della vulnerabilità

CampoValore
CVECVE-2025-13673
InteressatoTutor LMS <= 3.9.6
Corretto3.9.7
TipoSQL Injection (CWE-89)
CVSS7.5 / 9.3
AutenticazioneNessuna (blind) / Abbonato (UNION)

Causa principale

QueryHelper::prepare_where_clause() costruisce clausole SQL WHERE con concatenazione di stringhe grezze:

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

Nessun escaping. Un singolo apostrofo esce dal letterale e permette SQL arbitrario.

Vettori di attacco

Non autenticato: POST / con tutor_action=tutor_pay_now. L'hook init di WordPress esegue questa azione per tutti i visitatori. Il _tutor_nonce è incorporato in ogni pagina del frontend ed è valido per sessioni anonime. Estrazione dati tramite SLEEP().

Abbonato+: POST /wp-admin/admin-ajax.php con action=tutor_apply_coupon. Restituisce JSON con dati UNION SELECT iniettati — due colonne riflesse nella risposta per un'estrazione immediata.

Patch (3.9.7)

root@kitploit:~
- $val = is_numeric( $val ) ? $val : "'" . $val . "'";
+ // Il valore ora viene passato tramite $wpdb->prepare('%s', $value)

Utilizzo dell'exploit

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

Modalità:
  Default (senza -u/-p):  SQLi non autenticata time-based blind
  Con -u/-p:              UNION-based autenticata (veloce)

Esempi:
  exploit.py http://target                            # blind non autenticato
  exploit.py http://target -u student -p pass --all   # UNION autenticato

Test di versioni diverse

root@kitploit:~
# Test versione 3.9.5 (ha mitigazione parziale con esc_sql)
./setup.sh 3.9.5

# Test versione 3.9.7 (dovrebbe essere corretta)
./setup.sh 3.9.7

File

FileDescrizione
exploit.pyPoC a doppia modalità: blind non autenticato + UNION autenticato
setup.shDeploy del laboratorio con un comando
docker-compose.ymlWordPress 6.7 + MySQL 8.0

Riferimenti

  • Consulenza Wordfence
  • Consulenza Patchstack

Dichiarazione di non responsabilità

Solo per test di sicurezza autorizzati e scopi educativi.

Scarica lo strumento