Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2021-41773-lab — Laboratorio educativo de FastAPI que demuestra el recorrido de directorios y la inclusión local de archivos de CVE-2021-41773, con un servidor vulnerable, código parcheado y ejemplos de payloads codificados para la formación local en seguridad. | Kitploit
Herramientas/GitHubGitHub/kunalkhandelwal-dev/cve-2021-41773-lab
Análisis de VulnerabilidadesExplotación de Aplicaciones WebSeguridad WebAprendizaje y EducaciónLabs y Práctica
GitHubkunalkhandelwal-dev/cve-2021-41773-lab

cve-2021-41773-lab

Laboratorio educativo de FastAPI que demuestra el recorrido de directorios y la inclusión local de archivos de CVE-2021-41773, con un servidor vulnerable, código parcheado y ejemplos de payloads codificados para la formación local en seguridad.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 21 díasAún no revisado

CVE-2021-41773 — Laboratorio mínimo con FastAPI

Un pequeño laboratorio FastAPI autónomo que demuestra cómo decodificar la entrada del usuario antes de validar los límites del sistema de archivos puede conducir a un directory traversal y a la inclusión local de archivos (LFI), modelado a partir de los problemas del servidor Apache HTTP CVE-2021-41773.


Características

  • Ejemplos FastAPI mínimos y fáciles de leer: un servidor vulnerable y un servidor parcheado
  • Demuestra bypass con codificación simple (%2e) y doble codificación (%252e)
  • El endpoint raíz incluye payloads rápidos para probar con curl
  • No requiere Docker — se ejecuta localmente con uvicorn

Estructura del repositorio

  • patched_app.py — implementación segura (usa comprobaciones de ruta canónica)
  • vulnerable_app.py — implementación intencionalmente vulnerable
  • secret.txt — archivo secreto fuera de los límites usado como objetivo del exploit
  • webroot/test.txt — archivo público servido por el ejemplo
  • README.md — este archivo

Requisitos

  • Python 3.8+
  • pip

Instalar dependencias de ejecución:

root@kitploit:~
pip install fastapi uvicorn

Inicio rápido

  1. Crear y activar un entorno virtual (ejemplo con PowerShell en Windows):
root@kitploit:~
python -m venv venv
.\venv\Scripts\activate
  1. Instalar las dependencias:
root@kitploit:~
pip install fastapi uvicorn
  1. Ejecutar el servidor vulnerable (puerto 8011):
root@kitploit:~
uvicorn vulnerable_app:app --port 8011

Abrir http://127.0.0.1:8011/ en el navegador — el endpoint raíz muestra payloads comunes y notas.

Para observar la corrección, detenga el servidor vulnerable y ejecute el servidor parcheado:

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

Ejemplos de peticiones (curl)

  • Acceso normal a un archivo público:
root@kitploit:~
curl --path-as-is http://localhost:8011/icons/test.txt
  • CVE-2021-41773 (codificación simple) — evita comprobaciones de límites ingenuas:
root@kitploit:~
curl --path-as-is "http://localhost:8011/icons/.%2e/secret.txt"
  • CVE-2021-42013 (doble codificación) — evita filtros que no decodifican repetidamente:
root@kitploit:~
curl --path-as-is "http://localhost:8011/icons/.%252e/secret.txt"

Contra el servidor vulnerable, estos payloads pueden devolver secret.txt. Contra el servidor parcheado deberían ser rechazados (HTTP 403).


Cómo funciona el parche (a alto nivel)

  1. Decodificar completamente la ruta entrante (manejar múltiples capas de codificación).
  2. Resolver la ruta canónica del sistema de archivos con os.path.realpath().
  3. Verificar que la ruta resuelta esté dentro del directorio webroot previsto — denegar en caso contrario.

Esto impone el orden correcto: decodificar → canonicalizar → autorizar.


Seguridad y uso

Este repositorio es solo para uso educativo y local. No exponga el servidor vulnerable a redes públicas.


Licencia

MIT License


Autor

Kunal Khandelwal — Security Researcher, Application Security

Descargar herramienta