
Scanner automatizzato per la vulnerabilità di upload non autenticato di file CVE-2019-12102 in Kentico CMS. Controlla i domini, verifica con il parametro hash e restituisce i target potenzialmente e confermatamente vulnerabili.
Il CVE-2019-12102 Scanner è uno strumento automatizzato per scansionare la vulnerabilità Unauthenticated File Upload / File Exposure in Kentico CMS versioni dalla 11 alla 12. Questa vulnerabilità è causata da un controllo degli accessi improprio sull'endpoint /cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx. Lo strumento verifica se un dominio è vulnerabile controllando la risposta dell'endpoint e salva i risultati in file separati per i domini Potenzialmente Vulnerabili e Confermati Vulnerabili.
La vulnerabilità consente agli attaccanti di:
L'endpoint vulnerabile (/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx) può essere raggiunto senza autenticazione se il parametro hash non viene validato correttamente. Se l'URL reindirizza a /CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=, il dominio viene considerato vulnerabile.
Ctrl+C).requests, coloramaClona questo repository:
git clone https://github.com/Egi08/CVE-2019-12102-Scanner.git
cd CVE-2019-12102-Scanner
Installa le dipendenze:
pip install -r requirements.txt
(Se il file requirements.txt non esiste, crealo con il seguente contenuto):
requests
colorama
Prepara un file di input (domains.txt) contenente un elenco di domini, uno per riga. Esempio:
example.com
another-example.com
vulnerable-site.com
python cve_2019_12102_scanner.py -l <input_file> -p <potentially_output_file> -c <confirmed_output_file>
-l, --list: Percorso del file contenente l'elenco dei domini (obbligatorio).-p, --potentially: File di output per i domini Potenzialmente Vulnerabili (opzionale, predefinito: potentially_vulnerable.txt).-c, --confirmed: File di output per i domini Confermati Vulnerabili (opzionale, predefinito: confirmed_vulnerable.txt).python cve_2019_12102_scanner.py -l domains.txt -p potentially_vulnerable.txt -c confirmed_vulnerable.txt
[*] Starting vulnerability scanner for CVE-2019-12102...
[*] Checking: http://example.com
[-] Not Vulnerable: http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] Checking: http://vulnerable-site.com
[+] Potentially Vulnerable: http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] Confirmed Vulnerable: http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] Results saved:
Potentially Vulnerable domains saved to potentially_vulnerable.txt
Confirmed Vulnerable domains saved to confirmed_vulnerable.txt
potentially_vulnerable.txt)http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
confirmed_vulnerable.txt)http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
Test Etico:
Timeout:
requests.get:
response = requests.get(full_url, timeout=20) # Timeout di 20 secondi
Gestione degli Errori:
Salvataggio Sicuro:
Ctrl+C).Parametro Hash:
test_hash utilizza l'hash di esempio (13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf). Modificalo se necessario.I contributi sono benvenuti! Se desideri contribuire, ti preghiamo di:
git checkout -b feature/your-feature-name
git commit -m "Add your changes here"
git push origin feature/your-feature-name
Questo progetto è concesso in licenza sotto la MIT License. Consulta il file LICENSE per maggiori dettagli.
Con questa documentazione, puoi facilmente caricare lo script su GitHub e fornire istruzioni chiare affinché altri possano utilizzare lo strumento.