cyr*_*153 11 java selenium log4j maven
我正在使用 Log4j 1.2.16。我将其与 Maven Selenium测试 Java 项目一起使用。我正在寻找一种无需升级Log4j版本的解决方案。
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
小智 15
另一个答案不正确。1.x 版本还存在一个漏洞。CVE-2021-4104:
在版本 1.x 的 Java 日志库 Apache Log4j 中发现了一个缺陷。Log4j 1.x 中的 JMSAppender 容易受到不受信任数据反序列化的影响。如果部署的应用程序配置为使用 JMSAppender 和攻击者的 JMS Broker,则这允许远程攻击者在服务器上执行代码。
为了缓解该漏洞:
以下是 1.x 版本中针对此缺陷的可能缓解措施:
如果使用了 Log4j 配置中的 JMSAppender,请注释掉或删除
从类路径中删除 JMSAppender 类。例如:
zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class
Run Code Online (Sandbox Code Playgroud)
限制操作系统用户对运行应用程序的平台的访问,以防止攻击者修改 Log4j 配置。
man*_*uti 10
由于您使用的是 Log4j 1,因此那里不存在特定的漏洞。但是,请注意log4shell(CVE-2021-44228) 漏洞评论中的以下内容:
log4j 1.x 容易受到攻击吗?
鉴于 log4j 1.x 版本的部署仍然非常广泛,可能是 log4j 2.x 的 10 倍,因此我们一直收到源源不断的有关 log4j 1.x 版本漏洞的问题。由于 log4j 1.x 不提供消息级别的 JNDI 查找机制,因此它不会受到 CVE-2021-44228 的影响。
然而,log4j 1.x 附带,如果在 log4j 的配置文件(即log4j.properties或log4j.xml )
JMSAppender中启用,它将执行 JNDI 查找。已经拥有 log4j 配置文件写入权限的攻击者将需要添加
JMSAppender到被恶意连接参数毒害的配置中。请注意,先前的合法使用与JMSAppender攻击者发起成功攻击的能力无关。另请注意,仅毒害配置文件是不够的。攻击者还需要强制 log4j 使用中毒的参数重新加载其配置文件。鉴于 log4j 1.x 不提供自动重新加载,中毒的配置文件通常只会在应用程序重新启动时生效。
然而,虽然并不容易,但这种攻击并非不可能。
JMSAppender因此,通过从 log4j-1.2.17.jar 中完全删除来使攻击者的工作变得更加困难是有意义的。如果没有新的 log4j 1.x 版本,您可以
JMSAppender自行从 log4j-1.2.17.jar 工件中删除。这是命令:Run Code Online (Sandbox Code Playgroud)zip -d log4j-1.2.17.jar org/apache/log4j/net/JMSAppender.class如果您无权访问“zip”,也可以使用“jar”命令。
Run Code Online (Sandbox Code Playgroud)#assuming log4j-1.2.17.jar exists in current directory mkdir tmp cd tmp jar xvf ../log4j-1.2.17.jar rm org/apache/log4j/net/JMSAppender.class jar cvf ../log4j-1.2.17-patched.jar .不用说,一旦修补了 log4j-1.2.17.jar,您就需要部署它。
| 归档时间: |
|
| 查看次数: |
20725 次 |
| 最近记录: |