我使用的是log4j1.2。16.我将其用于maven selenium testng java项目。我正在寻找一个不升级log4j版本的解决方案。
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
由于您使用的是log4j 1,因此不存在特定的漏洞。但是,请注意以下几点:http://slf4j.org/log4shell.html:
log4j 1. x是否存在漏洞?鉴于log4j版本1. x的部署仍然非常广泛,可能是log4j 2. x的10倍,我们收到了一系列关于log4j版本1. x漏洞的问题。
如log4j1所示。x不提供消息级别的JNDI查找机制,它不受CVE-2021-44228的影响。
但是,log4j 1. x附带了JMSAppender
,如果在log4j的配置文件中启用,它将执行JNDI查找,即log4j.properties或log4j.xml.
已经对log4j配置文件具有写访问权限的攻击者需要将JMSAppender
添加到被恶意连接参数毒害的配置中。请注意,先前合法使用JMSAppender
与攻击者成功发起攻击的能力无关。
还要注意的是,仅对配置文件下毒是不够的。攻击者还需要强制log4j重新加载带有有毒参数的配置文件。考虑到log4j1。x不提供自动重新加载,中毒的配置文件通常只在应用程序重新启动时生效。
然而,这种攻击虽然不容易,但也不是不可能的。因此,通过从log4j-1.2.17.jar.中完全删除JMSAppender
,使攻击者的工作更加困难是有意义的
在没有新的log4j 1的情况下。在x版本中,您可以从log4j-1.2中删除JMSAppender
。17.jar人工制品你自己。命令如下:
zip -d log4j-1.2.17.jar org/apache/log4j/net/JMSAppender.class
如果无法访问zip,也可以使用jar命令。
#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已修补,您需要部署它。
另一个答案是不正确的。版本1还存在一个漏洞。x、 CVE-2021-4104https://access.redhat.com/security/cve/CVE-2021-4104:
在1. x版的Java日志库Apache Log4j中发现一个缺陷。Log4j 1. x中的JMSAppender易受不受信任数据反序列化的攻击。如果部署的应用程序被配置为使用JMSAppender和攻击者的JMS Broker,则远程攻击者可以在服务器上执行代码。
为了缓解这一脆弱性:
这些是版本1中此缺陷的可能缓解措施。x:
zip-q-d log4j-*。jarorg/apache/log4j/net/JMSAppender。班
我有一个非常旧的Solr版本,我一直在试图看看它是否受到每个人都很害怕的Log4Shell漏洞的影响(CVE-2021-44228)。 CVE似乎只适用于更高版本,但一位同事不买账,所以我试图找出真相。
正如标题所说,我想知道更新Java的最佳途径。如果可能的话,我希望过程简单到只更新到最新的jdk8uXXX。
问题内容: 我在我的网站上设置了一个滑动面板。 完成动画制作后,我像这样设置哈希 (这是一个回调,并且在前面已分配)。 这很好用,可以使用户在面板上添加书签,也可以使非JavaScript版本正常工作。 但是,当我更新哈希时,浏览器跳到该位置。我想这是预期的行为。 我的问题是:如何预防这种情况?即如何更改窗口的哈希值,但是如果哈希值存在,浏览器 不能 滚动到该元素?某种东西吗? 我正在使用jQue
我正在使用咖啡因缓存,并寻找一种方法来更新缓存中的值,而不更改其过期时间。 场景是我使用缓存来加速数据加载。数据更改延迟5秒是可以接受的,而我希望返回速度很快。此外,我希望这些缓存在第一次命中1天后过期,以避免不必要的内存使用。 因此,我希望每个缓存的密钥持续一天,但其值每5秒更新一次。 方法似乎已关闭,但刷新持续时间后的第一个返回值仍然是旧值。这对我来说并不理想,因为两次点击之间的持续时间可能是
问题内容: 我在JSF页面中有这3个字段 我也有一个具有以下属性的后备豆: 我希望在将某些值插入字段val1和val2中而不刷新页面时,outputText元素自动更改其值。结果变量应以这种方式计算(它正在计算百分比):(val1 * val2)/ 100 您能帮我解决我的一些疑问吗?: 我知道为此,我需要javascript或AJAX之类的东西。您认为最好的方法是什么? 我很想知道我如何使用AJ
如何检测SonarQube LTS 8.2版本中的log4j漏洞。 我尝试了这个社区参考,但是找不到8.2版本的。 https://community.sonarsource.com/t/sonarqube-sonarcloud-and-the-log4j-vulnerability/54721