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
cve-2021-41773-lab — Laboratoire pédagogique FastAPI illustrant la CVE-2021-41773 (directory traversal et local file inclusion), avec un serveur vulnérable, un code corrigé et des exemples de payloads encodés pour une formation locale à la sécurité. | Kitploit
Outils/GitHubGitHub/kunalkhandelwal-dev/cve-2021-41773-lab
Analyse des VulnérabilitésExploitation d'Applications WebSécurité WebApprentissage et ÉducationLabs et Pratique
GitHubkunalkhandelwal-dev/cve-2021-41773-lab

cve-2021-41773-lab

Laboratoire pédagogique FastAPI illustrant la CVE-2021-41773 (directory traversal et local file inclusion), avec un serveur vulnérable, un code corrigé et des exemples de payloads encodés pour une formation locale à la sécurité.

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
Voir le dépôt
il y a 21 joursPas encore vérifié

CVE-2021-41773 — Laboratoire FastAPI minimal

Un petit laboratoire FastAPI autonome montrant comment le décodage des entrées utilisateur avant la validation des limites du système de fichiers peut mener à un traversement de répertoire et à une inclusion locale de fichier (LFI), inspiré des problèmes du serveur Apache HTTP CVE-2021-41773.


Fonctionnalités

  • Exemples FastAPI minimaux et faciles à lire : un serveur vulnérable et un serveur corrigé
  • Montre les contournements à encodage simple (%2e) et à double encodage (%252e)
  • Le point de terminaison racine inclut des charges utiles rapides pour les tests avec curl
  • Aucun Docker requis — s'exécute localement avec uvicorn

Structure du dépôt

  • patched_app.py — implémentation sécurisée (utilise des vérifications de chemin canonique)
  • vulnerable_app.py — implémentation volontairement vulnérable
  • secret.txt — fichier secret hors limites utilisé comme cible d'exploitation
  • webroot/test.txt — fichier public servi par l'exemple
  • README.md — ce fichier

Prérequis

  • Python 3.8+
  • pip

Installer les dépendances d'exécution :

root@kitploit:~
pip install fastapi uvicorn

Démarrage rapide

  1. Créer et activer un environnement virtuel (exemple Windows PowerShell) :
root@kitploit:~
python -m venv venv
.\venv\Scripts\activate
  1. Installer les dépendances :
root@kitploit:~
pip install fastapi uvicorn
  1. Lancer le serveur vulnérable (port 8011) :
root@kitploit:~
uvicorn vulnerable_app:app --port 8011

Ouvrez http://127.0.0.1:8011/ dans votre navigateur — le point de terminaison racine affiche les charges utiles courantes et des remarques.

Pour observer le correctif, arrêtez le serveur vulnérable et lancez le serveur corrigé :

root@kitploit:~
uvicorn patched_app:app --port 8011

Exemples de requêtes (curl)

  • Accès de base à un fichier public :
root@kitploit:~
curl --path-as-is http://localhost:8011/icons/test.txt
  • CVE-2021-41773 (encodage simple) — contourne les vérifications naïves des limites :
root@kitploit:~
curl --path-as-is "http://localhost:8011/icons/.%2e/secret.txt"
  • CVE-2021-42013 (double encodage) — contourne les filtres qui ne décodent pas de manière répétée :
root@kitploit:~
curl --path-as-is "http://localhost:8011/icons/.%252e/secret.txt"

Contre le serveur vulnérable, ces charges utiles peuvent renvoyer secret.txt. Contre le serveur corrigé, elles doivent être rejetées (HTTP 403).


Comment fonctionne le correctif (vue d'ensemble)

  1. Décoder entièrement le chemin entrant (gérer plusieurs couches d'encodage).
  2. Résoudre le chemin canonique du système de fichiers avec os.path.realpath().
  3. Vérifier que le chemin résolu se trouve dans le répertoire webroot prévu — refuser sinon.

Cela impose un ordre correct : décoder → canoniser → autoriser.


Sécurité et utilisation

Ce dépôt est réservé à un usage pédagogique local uniquement. N'exposez pas le serveur vulnérable sur des réseaux publics.


Licence

Licence MIT


Auteur

Kunal Khandelwal — Chercheur en sécurité, Sécurité des applications

Télécharger l’outil