
Analyseur automatisé pour la vulnérabilité de téléchargement de fichier non authentifié CVE-2019-12102 dans Kentico CMS. Vérifie les domaines, contrôle avec un paramètre de hachage, et liste les cibles potentiellement et confirmées vulnérables.
Le Scanner CVE-2019-12102 est un outil automatisé conçu pour détecter la vulnérabilité de Téléversement de fichier sans authentification / Exposition de fichier dans Kentico CMS versions 11 à 12. Cette vulnérabilité est causée par un contrôle d'accès inapproprié sur le point de terminaison /cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx. L'outil vérifie si un domaine est vulnérable en examinant la réponse du point de terminaison et enregistre les résultats dans des fichiers distincts pour les domaines Potentiellement vulnérables et Vulnérables confirmés.
La vulnérabilité CVE-2019-12102 permet aux attaquants de :
Le point de terminaison vulnérable (/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx) peut être accédé sans authentification si le paramètre hash n'est pas correctement validé. Si l'URL redirige vers /CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=, le domaine est considéré comme vulnérable.
Ctrl+C).requests, coloramaClonez ce dépôt :
git clone https://github.com/Egi08/CVE-2019-12102-Scanner.git
cd CVE-2019-12102-Scanner
Installez les dépendances :
pip install -r requirements.txt
(Si le fichier requirements.txt n'existe pas, créez-le avec le contenu suivant) :
requests
colorama
Préparez un fichier d'entrée (domains.txt) contenant une liste de domaines, un domaine par ligne. Exemple :
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 : Chemin vers le fichier contenant la liste des domaines (obligatoire).-p, --potentially : Fichier de sortie pour les domaines Potentiellement vulnérables (optionnel, défaut : potentially_vulnerable.txt).-c, --confirmed : Fichier de sortie pour les domaines Vulnérables confirmés (optionnel, défaut : confirmed_vulnerable.txt).python cve_2019_12102_scanner.py -l domains.txt -p potentially_vulnerable.txt -c confirmed_vulnerable.txt
[*] Démarrage du scanner de vulnérabilité pour CVE-2019-12102...
[*] Vérification : http://example.com
[-] Non vulnérable : http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] Vérification : http://vulnerable-site.com
[+] Potentiellement vulnérable : http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] Vulnérable confirmé : http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] Résultats sauvegardés :
Domaines potentiellement vulnérables sauvegardés dans potentially_vulnerable.txt
Domaines vulnérables confirmés sauvegardés dans 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 éthique :
Délai d'attente :
requests.get :
response = requests.get(full_url, timeout=20) # Délai d'attente de 20 secondes
Gestion des erreurs :
Sauvegarde sécurisée :
Ctrl+C).Paramètre de hachage :
test_hash utilise actuellement le hachage d'exemple (13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf). Ajustez-le si nécessaire.Les contributions sont les bienvenues ! Si vous souhaitez contribuer, veuillez :
git checkout -b feature/nom-de-votre-fonctionnalite
git commit -m "Ajoutez vos modifications ici"
git push origin feature/nom-de-votre-fonctionnalite
Ce projet est sous licence MIT License. Voir le fichier LICENSE pour plus de détails.
Avec cette documentation, vous pouvez facilement télécharger le script sur GitHub et fournir des instructions claires pour que d'autres utilisent l'outil.