
Exploit proof-of-concept per CVE-2022-29464 che consente il caricamento illimitato di file e l'esecuzione remota di codice su prodotti WSO2 vulnerabili, con una shell JSP personalizzata per l'esecuzione di comandi e l'esfiltrazione di file.
Alcuni prodotti WSO2 consentono il caricamento di file senza restrizioni, con conseguente esecuzione di codice in remoto. L'aggressore deve utilizzare un endpoint /fileupload con una sequenza di directory traversal in Content-Disposition per raggiungere una directory sotto la root web, come ad esempio ../../../../repository/deployment/server/webapps.
python3 main.py https://example.com shell.jsp
Sostituisci https://example.com con il server vulnerabile e shell.jsp con il nome del file che vuoi utilizzare per il caricamento.
Modifica il file shell.jsp come desideri, ma la shell attuale funziona comunque bene (almeno meglio di altre shell JSP).
Questa shell può raccogliere output da stdout e stderr. I comandi vengono eseguiti usando .
/bin/shSpesso, gli amministratori di sistema eseguono i prodotti WSO2 come superutente. Usando questo exploit, avrai permessi di superutente sull'intero sistema.
I file del database si trovano nella directory ~/repository/database.
Puoi usare IntelliJ IDEA per aprire database di tipo H2, come descritto qui.
Usando questo exploit, puoi copiare qualsiasi file da qualsiasi directory a ~/repository/deployment/server/webapps/authenticationendpoint. La directory authenticationendpoint serve file JSP, ma può essere utilizzata anche per servire altri file.
Esempio:
cp ~/repository/database/WSO2CARBON_DB.h2.db ~/repository/deployment/server/webapps/authenticationendpoint/WSO2CARBON_DB.h2.db
Questo comando copierà il file principale del database in una directory dalla quale possiamo scaricarlo.
Non sono responsabile per alcun tipo di guerra termonucleare o per essere arrestato. Utilizza questo exploit solo in un ambiente di test.