该仓库包含一个故意对CVE-2021-44228(俗称log4shell)存在漏洞的Java应用程序。
log4stdin实际上只不过是一个stdin读取器,其输入被送入存在漏洞的log4j实例。构建文件log4stdin.jar使用Maven构件log4j-api 2.14.1和log4j-core 2.14.1,并使用了一个省略日志级别和时间戳详情的日志模式。此版本是保证有漏洞的™。
在versions/文件夹中,可以找到使用默认日志模式和log4j 2.0-beta9至2.20.0版本的构建。
使用Unix管道进行输入。例如,要对日志条目进行可注入性处理,运行
cat output.log | java -jar log4stdin.jar
或者,对于实时日志读取,运行
tail -f output.log | java -jar log4stdin.jar
log4stdin会打印任何输入到stdin的内容,但不处理用户输入。因此,它适用于读取日志文件(如上例所示),或与不需要用户交互的软件一起使用。
此仓库的内容注定会被反病毒软件归类为受感染文件或尝试发出恶意命令。建议在克隆仓库之前将目标文件夹排除在反病毒扫描之外。更好的建议是在没有网络连接的虚拟环境中进行测试。
首先,它可用于探索几乎在任何地方存在JNDI注入点的后果,而无需复刻任何现有的软件。它可能有助于研究或测试保护方法。
其次,它基本上是网络安全的"Hello World",旨在强调该漏洞的简单性和严重性。
第三,它可用于测试反病毒解决方案是否能够检测利用CVE-2021-44228的软件。例如,log4stdin.java或log4stdin.jar可能会被标记为Generic.Zojfor.G。
无论如何,无论你决定如何使用它,你都必须对任何后果负责。
MIT许可证。更多信息请参见LICENSE.md。
虽然这并没有费多大的力气,但你可以随意自行复制,没有人会来找你麻烦。
Copyright 1999–2023 The Apache Software Foundation
依据Apache许可证2.0版("许可证")授权; 除非遵守许可证,否则不得使用本文件。 您可以在以下位置获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件是按"原样"分发的,不附带任何明示或暗示的保证或条件。请参阅许可证以了解具体的许可语言和限制。