Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2021-41773-lab — Laboratório educacional FastAPI que demonstra o CVE-2021-41773 (traversal de diretório e inclusão local de arquivos), com um servidor vulnerável, código corrigido e exemplos de payloads codificados para treinamento local de segurança. | Kitploit
Ferramentas/GitHubGitHub/kunalkhandelwal-dev/cve-2021-41773-lab
Análise de VulnerabilidadesExploração de Aplicações WebSegurança WebAprendizado e EducaçãoLabs e Prática
GitHubkunalkhandelwal-dev/cve-2021-41773-lab

cve-2021-41773-lab

Laboratório educacional FastAPI que demonstra o CVE-2021-41773 (traversal de diretório e inclusão local de arquivos), com um servidor vulnerável, código corrigido e exemplos de payloads codificados para treinamento local de segurança.

Ver Repositório
2há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2021-41773 — Laboratório FastAPI Mínimo

Um laboratório FastAPI pequeno e autossuficiente que demonstra como a decodificação da entrada do usuário antes de validar os limites do sistema de arquivos pode levar a travessia de diretório e inclusão local de arquivos (LFI), modelado a partir dos problemas do Apache HTTP Server CVE-2021-41773.


Recursos

  • Exemplos FastAPI mínimos e fáceis de ler: um servidor vulnerável e um servidor corrigido
  • Demonstra bypasses com codificação simples (%2e) e dupla (%252e)
  • O endpoint raiz inclui payloads rápidos para teste com curl
  • Não requer Docker — executa localmente com uvicorn

Estrutura do Repositório

  • patched_app.py — implementação segura (usa verificações de caminho canônico)
  • vulnerable_app.py — implementação intencionalmente vulnerável
  • secret.txt — arquivo secreto fora dos limites usado como alvo do exploit
  • webroot/test.txt — arquivo público servido pelo exemplo
  • README.md — este arquivo

  • Requisitos

    • Python 3.8+
    • pip

    Instale as dependências de execução:

    root@kitploit:~
    pip install fastapi uvicorn
    

    Início Rápido

    1. Crie e ative um ambiente virtual (exemplo no Windows PowerShell):
    root@kitploit:~
    python -m venv venv
    .\venv\Scripts\activate
    
    1. Instale as dependências:
    root@kitploit:~
    pip install fastapi uvicorn
    
    1. Execute o servidor vulnerável (porta 8011):
    root@kitploit:~
    uvicorn vulnerable_app:app --port 8011
    

    Abra http://127.0.0.1:8011/ no seu navegador — o endpoint raiz mostra payloads comuns e notas.

    Para observar a correção, pare o servidor vulnerável e execute o servidor corrigido:

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

    Exemplos de Requisições (curl)

    • Acesso básico a um arquivo público:
    root@kitploit:~
    curl --path-as-is http://localhost:8011/icons/test.txt
    
    • CVE-2021-41773 (codificação simples) — bypassa verificações ingênuas de limites:
    root@kitploit:~
    curl --path-as-is "http://localhost:8011/icons/.%2e/secret.txt"
    
    • CVE-2021-42013 (codificação dupla) — bypassa filtros que não decodificam repetidamente:
    root@kitploit:~
    curl --path-as-is "http://localhost:8011/icons/.%252e/secret.txt"
    

    Contra o servidor vulnerável, esses payloads podem retornar secret.txt. Contra o servidor corrigido, eles devem ser rejeitados (HTTP 403).


    Como a Correção Funciona (visão geral)

    1. Decodifique completamente o caminho recebido (lida com múltiplas camadas de codificação).
    2. Resolva o caminho canônico do sistema de arquivos com os.path.realpath().
    3. Garanta que o caminho resolvido esteja dentro do diretório webroot pretendido — negue caso contrário.

    Isso impõe a ordem correta: decodificar → canonicalizar → autorizar.


    Segurança e Uso

    Este repositório é apenas para uso educacional local. Não exponha o servidor vulnerável a redes públicas.


    Licença

    Licença MIT


    Autor

    Kunal Khandelwal — Pesquisador de Segurança, Segurança de Aplicações

    Baixar ferramenta