Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-41773 — Analisi dettagliata di CVE-2021-41773, path traversal di Apache e sfruttamento RCE, con comandi passo-passo e analisi delle cause principali da un ambiente di laboratorio TryHackMe. | Kitploit
Strumenti/GitHubGitHub/johnwickakash12/cve-2021-41773
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFApprendimento e FormazioneLab e Pratica
GitHubjohnwickakash12/cve-2021-41773

CVE-2021-41773

Analisi dettagliata di CVE-2021-41773, path traversal di Apache e sfruttamento RCE, con comandi passo-passo e analisi delle cause principali da un ambiente di laboratorio TryHackMe.

Vedi Repository
32 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2021-41773 — Path Traversal e RCE su Apache

Writeup della room "Modern Web Stacks" di TryHackMe, incentrata sullo sfruttamento di CVE-2021-41773, una vulnerabilità di path traversal in Apache HTTP Server 2.4.49 che porta a esecuzione di codice remoto quando mod_cgi è abilitato.

Riepilogo

ElementoDettaglio
VulnerabilitàCVE-2021-41773 — Apache 2.4.49 Path Traversal / RCE
Servizio targetApache HTTP Server sulla porta 8080
Versione vulnerabileApache/2.4.49 (Unix)
Causa principaleOrdine di normalizzazione errato in ap_normalize_path()
ImpattoLettura arbitraria di file → Esecuzione di codice remoto tramite mod_cgi
Strumenti usaticurl

Panoramica della vulnerabilità

Apache 2.4.49 ha modificato il modo in cui ap_normalize_path() elabora gli URL. Apache dovrebbe bloccare qualsiasi percorso di richiesta contenente ../ prima che raggiunga il filesystem, ma il filtro di traversal viene eseguito prima della completa decodifica dell'URL.

Ciò significa che una richiesta che utilizza la sequenza doppiamente codificata .%2e/ non viene riconosciuta come ../ dal filtro. Tuttavia, una volta che Apache passa il percorso al sistema operativo, .%2e/ viene risolto in ../, e il filtro di traversal è già stato aggirato.

Da sola, questa falla consente la lettura arbitraria di file al di fuori della directory web. L'impatto diventa critico se abbinato a mod_cgi: se il percorso di traversal risolve in un eseguibile come /bin/sh all'interno di una directory abilitata per CGI (ad es. /cgi-bin/), Apache lo esegue come script CGI e passa il corpo della richiesta HTTP POST al suo stdin — ottenendo così l'esecuzione remota di comandi.

Passaggi

1. Confermare l'header Server vulnerabile

Identificato l'header Server della risposta del target come:

root@kitploit:~
Apache/2.4.49 (Unix)

Questa versione è direttamente affetta da CVE-2021-41773.

2. Verificare la disponibilità di /cgi-bin/

Richiesto /cgi-bin/ e ricevuta una risposta 403 Forbidden (non un 404), indicando che la directory esiste e che mod_cgi è probabilmente abilitato — prerequisito per la RCE tramite questa CVE.

3. Sfruttare il path traversal per la RCE

Usato curl con il flag --path-as-is per inviare la sequenza di traversal codificata esattamente come scritta, senza che curl la normalizzi lato client:

root@kitploit:~
curl -s --path-as-is "http://<TARGET_IP>:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh" \
  --data 'echo Content-Type: text/plain; echo; cat /flag.txt'

Perché --path-as-is è necessario: di default, curl normalizza gli URL e rimuove le sequenze .%2e/ prima ancora di inviare la richiesta. --path-as-is dice a curl di inviare l'URL esattamente come scritto, preservando il traversal codificato in modo che arrivi integro al server.

4. Leggere la flag

Il payload ha attraversato fuori da /cgi-bin/ fino al filesystem di root, ha eseguito /bin/sh come script CGI tramite il corpo POST iniettato e ha restituito il contenuto di /flag.txt.

root@kitploit:~
Formato flag confermato: THM{...}

(Flag oscurata secondo le linee guida di TryHackMe per i writeup pubblici.)

Punti chiave

  • L'ordine delle patch è importante. Un filtro di sicurezza che viene eseguito prima del completamento della decodifica può essere aggirato trivialmente con trucchi di codifica — questo stesso schema (filtra-prima-decodifica vs decodifica-poi-filtra) si presenta in molte CVE di traversal, non solo in questa.
  • mod_cgi + path traversal = RCE. La sola lettura di file è già grave; combinata con una directory eseguibile CGI, diventa esecuzione di comandi.
  • Il comportamento degli strumenti è importante durante i test. La normalizzazione predefinita degli URL in curl può "correggere" silenziosamente il payload che si intende inviare — --path-as-is (o uno strumento equivalente per richieste grezze) è essenziale quando si testano bypass basati su codifica.

Rimedio

  • Aggiornare Apache alla versione 2.4.51 o successiva (corregge sia CVE-2021-41773 che la correlata CVE-2021-42013).
  • Disabilitare mod_cgi se non esplicitamente necessario.
  • Applicare il principio del minimo privilegio al processo del server web per limitare il raggio d'azione di qualsiasi primitiva di lettura file.

Riferimenti

  • CVE-2021-41773 — NVD
  • TryHackMe — Modern Web Stacks room

Questo writeup documenta un ambiente di laboratorio (TryHackMe). Non sono stati acceduti sistemi non autorizzati.

Scarica lo strumento