
Un'applicazione Java intenzionalmente vulnerabile a CVE-2021-44228
Questo repository contiene un'applicazione Java intenzionalmente vulnerabile a CVE-2021-44228, nota colloquialmente come log4shell.
log4stdin non è letteralmente altro che un lettore di stdin, il cui input viene immesso in un'istanza log4j vulnerabile. La build log4stdin.jar usa gli artefatti Maven log4j-api 2.14.1 e log4j-core 2.14.1, e usa un pattern di logging che omette i dettagli di livello di logging e timestamp. Questa versione è Garanzita Vulnerabile™️.
Nella cartella versions/ si trovano build che usano il pattern di logging predefinito e versioni di log4j dalla 2.0-beta9 alla 2.20.0.
Usa le pipe Unix per l'input. Per esempio, per sottoporre le voci di log a un trattamento di iniettabilità, esegui
cat output.log | java -jar log4stdin.jar
In alternativa, per la lettura dei log in tempo reale, esegui
tail -f output.log | java -jar log4stdin.jar
log4stdin stampa tutto ciò che viene immesso su stdin ma non fa nulla per gestire l'input dell'utente. Pertanto è adatto per leggere file di log, come esemplificato sopra, o per essere usato con software che non richiede interazione con l'utente.
I contenuti di questo repository saranno verosimilmente classificati dagli antivirus come file infetti o tentativi di eseguire comandi malevoli. Potrebbe essere una buona idea escludere la cartella di destinazione dalla scansione antivirus prima di clonare il repository. Potrebbe essere un'idea ancora migliore provarlo in un ambiente virtuale senza connessioni di rete.
In primo luogo, può essere usato per esplorare le conseguenze dell'avere un punto di iniezione JNDI praticamente ovunque, senza la necessità di fare il fork di alcun software esistente. Può essere utile per ricercare o testare metodi di protezione.
In secondo luogo, è fondamentalmente l'"Hello World" della cybersicurezza, scritto per sottolineare sia la semplicità che la gravità della vulnerabilità.
In terzo luogo, può essere usato per testare se una soluzione antivirus è in grado di rilevare software che sfrutta CVE-2021-44228. log4stdin.java o log4stdin.jar potrebbero essere segnalati come Generic.Zojfor.G, per esempio.
In ogni caso, qualunque cosa decidi di farci ti rende responsabile di qualsiasi conseguenza.
Licenza MIT. Leggi di più in LICENSE.md.
Non è che ci fosse poi molto lavoro pesante da fare, comunque, e sentiti libero di riprodurre la cosa di tua iniziativa, e nessuno verrà a cercarti.
Copyright 1999–2023 The Apache Software Foundation
Concesso in licenza secondo la Apache License, Versione 2.0 (la "Licenza"); non puoi usare questo file se non in conformità con la Licenza. Puoi ottenere una copia della Licenza all'indirizzo
http://www.apache.org/licenses/LICENSE-2.0
Salvo quanto richiesto dalla legge applicabile o concordato per iscritto, il software distribuito secondo la Licenza è distribuito su base "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o implicite. Vedi la Licenza per il linguaggio specifico che disciplina i permessi e le limitazioni previsti dalla Licenza.