Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
POC-CVE-2023-32681 — POC pour CVE-2023-32681 | Kitploit
Outils/GitHubGitHub/hardikmodha/poc-cve-2023-32681
Analyse des VulnérabilitésExploitationSécurité WebApprentissage et ÉducationLabs et PratiqueArchived
GitHubhardikmodha/poc-cve-2023-32681

POC-CVE-2023-32681

POC pour CVE-2023-32681

Voir le dépôt
412il y a 3 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

POC pour CVE-2023-32681

Ceci est une implémentation Python 3 de CVE-2023-32681, affectant les clients utilisant la version <= 2.30.0 de la bibliothèque requests.

Selon https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4, lorsqu'une redirection 3xx est émise par le serveur, l'agent utilisateur doit modifier la requête pour en supprimer certains en-têtes et champs.

Les détails de ces champs se trouvent sur https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4-5. Spécifiquement pour cette CVE, j'ai mis en évidence la partie pertinente ci-dessous.

image

La version <= 2.30.0 de requests ne supprimait pas les en-têtes 'Proxy-Authorization' lors de la gestion de la redirection vers 'https', ce qui entraînait la fuite des informations d'identification du proxy vers le serveur redirigé.

Plus de détails à ce sujet peuvent être trouvés sur

  • https://www.cve.org/CVERecord?id=CVE-2023-32681
  • https://security.snyk.io/vuln/SNYK-PYTHON-REQUESTS-5595532

Prérequis

  • Un jeu valide de certificats pour le serveur HTTP(S). Vous pouvez utiliser mkcert pour générer les certificats localement.
  • Go v1.19
  • Python 3.x
  • virtualenv (Optionnel)

Aperçu

  1. Implémentation du serveur proxy en Go. Il démarre un serveur proxy sur le port 8080 et nécessite une authentification de base. Pour les besoins de la POC, le nom d'utilisateur et le mot de passe sont codés en dur dans le même fichier.
Télécharger l’outil
  • Implémentation du serveur HTTP(S) en Go. Il démarre 2 serveurs.
    • Un serveur de redirection écoutant sur le port 443 et un autre serveur echo écoutant sur le port 4431.
    • Le serveur de redirection définit une route /redirect qui redirige le trafic vers le second serveur fonctionnant sur le port 4431.
    • Le serveur echo définit une route /echoHeaders. Cette route renvoie au client les en-têtes reçus dans la requête.
  • Script Python POC. Il émet une requête proxy vers le serveur de redirection fonctionnant sur le port 443 et affiche la réponse renvoyée par celui-ci.
  • Si la réponse contient les en-têtes Proxy-Authorization, alors la version de requests est considérée comme vulnérable à CVE-2023-32681.
  • Étapes

    1. Clonez ce dépôt.
    2. Mettez à jour les variables certFile et keyFile dans server/main.go.
    3. Démarrez les serveurs HTTP(S) en exécutant la commande go run server/main.go. Cela démarrera deux serveurs écoutant sur les ports 443 et 4431.
    4. Démarrez le serveur proxy en exécutant la commande go run proxy/main.go. Cela démarrera le serveur proxy sur le port 8080.
    5. Installez les dépendances pour exécuter le script Python pip3 install -r script/requirements_request_2_30_0.txt
    6. Exécutez le script POC en lançant python3 script/poc.py et observez la sortie. Vous pouvez voir que l'en-tête 'Proxy-Authorization' est renvoyé par le serveur dans la réponse. Le serveur affiche également les en-têtes reçus dans les logs.
    7. Maintenant, mettez à jour la version de requests vers >= 2.31.0 ou exécutez pip3 install -r script/requirements_request_2_31_0.txt
    8. Exécutez à nouveau le script POC en lançant python3 script/poc.py et observez la sortie. Vous pouvez voir que l'en-tête 'Proxy-Authorization' n'est maintenant plus présent dans la réponse du serveur. Cela peut également être vérifié dans les logs du serveur.

    Captures d'écran

    Serveur proxy

    proxy_server_logs

    requests==2.30.0

    requests_2_30_0_script_output
    requests_2_30_0_server_output

    requests==2.31.0

    requests_2_31_0_script_output
    requests_2_31_0_server_output