
Questo repository contiene uno script Python per automatizzare il processo di test per una vulnerabilità nota come Text4Shell, referenziata con l'ID CVE: CVE-2022-42889.
Questo repository contiene uno script Python per automatizzare il processo di test di una vulnerabilità nota come Text4Shell, identificata dal CVE id: CVE-2022-42889.
Text4Shell è una vulnerabilità critica che colpisce un'ampia gamma di sistemi. La vulnerabilità risiede nel modo in cui questi sistemi analizzano le stringhe di testo e consente l'esecuzione di codice arbitrario o attacchi SSRF. La vulnerabilità viene sfruttata tramite stringhe appositamente create, in cui viene eseguito codice JavaScript (portando a Remote Code Execution (RCE)) o vengono recuperati URL (portando a Server-Side Request Forgery (SSRF)).
Da Tarlogic:
Requisiti per lo sfruttamento:
L'applicazione accetta un input controllato dall'utente che viene successivamente elaborato da uno dei seguenti metodi del componente interessato:
Le versioni di Java uguali o superiori a Java 15 non sarebbero suscettibili all'esecuzione di codice in remoto, poiché il motore Nashorn è disabilitato e il prefisso “script” non sarebbe disponibile. Tuttavia, altri attacchi tramite i prefissi “url” e “dns” sarebbero possibili.
Questo script Python aiuta a testare la presenza della vulnerabilità Text4Shell in un sistema. L'ambito di questo script include: test dei prefissi script e url.
Lo script ha due modalità di funzionamento: RCE e SSRF, controllate dall'argomento da riga di comando -m o --mode. Costruisce un URL incorporando una stringa appositamente creata in base alla modalità selezionata e effettua una richiesta GET all'URL.
In modalità RCE, lo script crea una stringa appositamente creata che tenta di eseguire un comando JavaScript. Il comando da eseguire viene passato come argomento da riga di comando utilizzando -c o --command.
python text4shell.py -u 'http://example.com/search?query=' -c 'your_command' -m 'rce'
In modalità SSRF, lo script crea una stringa appositamente creata che include un comando di recupero URL.
python text4shell.py -u 'http://example.com/search?query=' -m 'ssrf' -s 'http://example.com/resource'
Lo script effettua una richiesta GET all'URL costruito e stampa il codice di stato della risposta HTTP e il corpo.