
A proof of concept for testing CVE-2023-38545 against local curl
Ce dépôt contient une Preuve de Concept (PoC) conçue pour tester les systèmes pour la vulnérabilité CVE-2023-38545. La vulnérabilité affecte l'utilitaire curl, spécifiquement les versions comprises entre 7.69.0 et 8.3.1, et est liée à la gestion des redirections HTTP.
Logiciel requis: curl
Le PoC se compose de deux composants principaux :
Cette étape est facultative si vous avez déjà un proxy socks5 que vous pouvez utiliser.
Exécutez setup_socks5.sh
$ chmod +x setup_socks5.sh
$ ./setup_socks5.sh
Cela installera les dépendances requises et configurera le serveur proxy SOCKS5 sur le port 1080.
Exécutez la commande suivante pour démarrer le serveur HTTP :
$ python3 server.py
Vous pouvez également exécuter le serveur avec la journalisation de débogage
$ python3 server.py --debug
Une fois exécuté avec succès, le serveur HTTP écoutera sur le port 8000.
Tout d'abord, rendez le script exécutable :
$ chmod +x cve202338545.sh
Le script peut être configuré pour accepter une adresse proxy socks5 avec --socks5-ip et une adresse http avec --http-ip et peut afficher les journaux de débogage avec --DEBUG
$ ./cve202338545.sh --socks5-ip <ip> --http-ip <ip> --DEBUG # spécifier à la fois le proxy et le serveur http
$ ./cve202338545.sh --socks5-ip <ip> # spécifier uniquement le serveur proxy
$ ./cve202338545.sh --http-ip <ip> # spécifier uniquement le serveur http
$ ./cve202338545.sh # le proxy et le serveur http seront par défaut localhost
$ ./cve202338545.sh --DEBUG # le proxy et le serveur http seront par défaut localhost avec le débogage activé
Cela initiera l'exploit, et vous devriez voir une sortie indiquant si le système est vulnérable, non vulnérable, ou si le test n'est pas concluant.
Il y a 4 états de réponse :
Cette étape n'est nécessaire que si vous avez utilisé setup_socks5.sh à l'étape 1.
Pour nettoyer le serveur proxy SOCKS5, exécutez la commande suivante :
$ ./cleanup.sh