
Uma aplicação Java intencionalmente vulnerável ao CVE-2021-44228
Este repositório contém uma aplicação Java intencionalmente vulnerável à CVE-2021-44228, conhecida coloquialmente como log4shell.
log4stdin é literalmente nada mais do que um leitor de stdin, cuja entrada é alimentada em uma instância vulnerável do log4j. O build log4stdin.jar usa os artefatos Maven log4j-api 2.14.1 e log4j-core 2.14.1, e usa um padrão de log que omite detalhes de nível e timestamp. Esta versão é Garantidamente Vulnerável™️.
Na pasta versions/ podem ser encontrados builds usando o padrão de log padrão e versões do log4j de 2.0-beta9 a 2.20.0.
Use pipes Unix para entrada. Por exemplo, para submeter entradas de log a um tratamento de injetabilidade, execute
cat output.log | java -jar log4stdin.jar
Alternativamente, para leitura de log em tempo real, execute
tail -f output.log | java -jar log4stdin.jar
log4stdin imprime tudo o que é alimentado no stdin, mas não faz nada para lidar com a entrada do usuário. Portanto, é adequado para ler arquivos de log, como exemplificado acima, ou para ser usado com software que não exige interação do usuário.
O conteúdo deste repositório está fadado a ser classificado por AVs como arquivos infectados ou tentativas de emissão de comandos maliciosos. Pode ser uma boa ideia excluir a pasta de destino da varredura de AV antes de clonar o repositório. Pode ser uma ideia ainda melhor experimentá-lo em um ambiente virtual sem conexões de rede.
Primeiramente, pode ser usado para explorar a consequência de ter um ponto de injeção JNDI praticamente em qualquer lugar, sem a necessidade de fazer fork de nenhum software existente. Pode ser útil em pesquisas ou testes de métodos de proteção.
Em segundo lugar, é basicamente o "Hello World" da segurança cibernética, escrito para destacar tanto a simplicidade quanto a gravidade da vulnerabilidade.
Em terceiro lugar, pode ser usado para testar se uma solução de AV é capaz de detectar software que explora a CVE-2021-44228. log4stdin.java ou log4stdin.jar podem ser sinalizados como Generic.Zojfor.G, por exemplo.
De qualquer forma, seja qual for o uso que você decidir dar a isto, você é responsável por todas as consequências.
Licença MIT. Leia mais em LICENSE.md.
Embora não tenha havido muito trabalho pesado, sinta-se à vontade para reproduzir a coisa por conta própria, e ninguém vai vir atrás de você.
Copyright 1999–2023 The Apache Software Foundation
Licenciado sob a Licença Apache, Versão 2.0 (a "Licença"); você não pode usar este arquivo, exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em
http://www.apache.org/licenses/LICENSE-2.0
A menos que exigido pela lei aplicável ou acordado por escrito, o software distribuído sob a Licença é distribuído numa base "AS IS", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para as permissões específicas e limitações sob a Licença.