1.2 漏洞评级及影响版本

Apache Log4j 远程代码执行漏洞 严重

影响的版本范围:Apache Log4j 2.x <= 2.14.1

2.log4j2 漏洞简单演示

创建maven工程
引入jar包依赖

<dependencies><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.14.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.14.0</version></dependency></dependencies>

编写log4j2配置文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"><!--全局参数--><Properties><Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n</Property><Property name="logDir">/data/logs/dust-server</Property></Properties><Loggers><Root level="INFO"><AppenderRef ref="console"/><AppenderRef ref="rolling_file"/></Root></Loggers><Appenders><!-- 定义输出到控制台 --><Console name="console" target="SYSTEM_OUT" follow="true"><!--控制台只输出level及以上级别的信息--><ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/><PatternLayout><Pattern>${pattern}</Pattern></PatternLayout></Console><!-- 同一来源的Appender可以定义多个RollingFile,定义按天存储日志 --><RollingFile name="rolling_file"fileName="${logDir}/dust-server.log"filePattern="${logDir}/dust-server_%d{yyyy-MM-dd}.log"><ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/><PatternLayout><Pattern>${pattern}</Pattern></PatternLayout><Policies><TimeBasedTriggeringPolicy interval="1"/></Policies><!-- 日志保留策略,配置只保留七天 --><DefaultRolloverStrategy><Delete basePath="${logDir}/" maxDepth="1"><IfFileName glob="dust-server_*.log" /><IfLastModified age="7d" /></Delete></DefaultRolloverStrategy></RollingFile></Appenders>
</Configuration>

创建测试类Log4j2Demo

//java项目 fhadmin.cn
public class Log4j2Demo {private static  final Logger LOGGER=LogManager.getLogger();public static void main(String[] args) {String username="${java:os}";LOGGER.info("Hello, {}",username);}
}

运行结果

[INFO] Building log4j2-bug-test 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:3.0.0:exec (default-cli) @ log4j2-bug-test ---
2021-12-11 11:44:14,654  INFO Log4j2Demo:12 - Hello, Windows 10 10.0, architecture: amd64-64
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.140 s
[INFO] Finished at: 2021-12-11T11:44:14+08:00
[INFO] ------------------------------------------------------------------------

在这里面我们可以看到使用${}可以实现漏洞的注入,假设username为用户登录的输入框,即可从这个输入框进行注入,既可查看到一些后台系统信息,如果有黑客在使用JNDI编写恶意代码注入的话,后果是非常严重的。

3. log4j2 快速修复措施
修改log4j2版本
据 Apache 官方最新信息显示,release 页面上已经更新了 Log4j 2.15.0 版本,主要是那个log4j-core包,漏洞就是在这个包里产生的,如果你的程序有用到,尽快紧急升级(java项目 fhadmin.cn)。

临时解决方案

1.设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”

2.设置“log4j2.formatMsgNoLookups=True”

3.系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”

4.关闭对应应用的网络外连,禁止主动外连

Log4j 漏洞修复和临时补救方法相关推荐

  1. 深入解析著名的阿里云Log4j 漏洞

    几乎每个系统都会使用日志框架,用于记录日志信息,这些信息可以提供程序运行的上下文,但是日志过多也会影响系统的性能,所以好的日志框架应该是可靠,快速和可扩展的. Apache Log4j2 是一个基于 ...

  2. 深入分析Log4j 漏洞

    几乎每个系统都会使用日志框架,用于记录日志信息,这些信息可以提供程序运行的上下文,但是日志过多也会影响系统的性能,所以好的日志框架应该是可靠,快速和可扩展的. Apache Log4j2 是一个基于 ...

  3. 紧急:Spring框架被爆出存在0day级别远程命令执行漏洞。漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响。该漏洞目前无官方修复补丁

    Spring框架被爆出存在0day级别远程命令执行漏洞.漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响. 漏洞信息和漏洞影响排查方法如下: 漏洞名称 ...

  4. Log4j执行漏洞修复教程

    12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,漏洞威胁等级为:严重. Log4j2 是一个基于 Java 的日志记录工具.它重写了 Log4j 框架,引入 ...

  5. oracle 序列_Oracle WebLogic最新高危反序列化漏洞修复方法

    漏洞说明 在 WebLogic 里,InboundMsgAbbrev中的resolveProxyClass是可以对rmi的类型进行处理的,但是只简单判断了java.rmi.registry.Regis ...

  6. java中xxe漏洞修复方法

    java中禁止外部实体引用的设置方法不止一种,这样就导致有些开发者修复的时候采用的错误的方法 之所以写这篇文章是有原因的!最早是有朋友在群里发了如下一个pdf, 而当时已经是2019年1月末了,应该不 ...

  7. WP_Image_Editor_Imagick 漏洞临时解决方法

    导读 阿里云推送的一条短信通知:存放在上面的WordPress程序有WP_Image_Editor_Imagick漏洞问题,需要登入后台补丁等等的暗示.当然,如果需要在线补丁则需要升级阿里云的安骑士专 ...

  8. CentOS bug修复指令集(阿里云漏洞修复方法)

    阿里云服务器经常会提示有漏洞,如 RHSA-2018:0423: kernel security, bug fix, and enhancement update (Moderate),如何修复呢?可 ...

  9. mysql 漏洞如何修复_Mysql漏洞修复方法思路及注意事项

    [系统环境] 系统环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga)+  5.7.16 MySQL Community Server (G ...

最新文章

  1. 自定义全局按键修饰符
  2. 少儿python编程培训-无锡江阴少儿Python编程培训一对一
  3. 【错误记录】Flutter 界面报错 ( No MediaQuery widget ancestor found. | Scaffold widgets require a MediaQuery )
  4. Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
  5. 获取input数据_使用 PHP Masked Package 屏蔽敏感数据
  6. 【Py面试题】找到数组或整数列表中连续子序列的最大和
  7. 《算法导论》中动态规划求解钢条切割问题
  8. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]49.描述在IPsec和TLS后的基本想法
  9. springboot之@Async实现异步
  10. 开课吧:AI智能语言产品会运用到哪些技术?
  11. 【转】SpringMVC整合websocket实现消息推送及触发
  12. 阿里云计算新增ODPS、SLS两款云产品
  13. 许巍的故乡到底想表达什么?是写给谁的?
  14. 2021.5.10-2021.5.16周报
  15. 水滴筹创始人:除中国以外不推行996;字节跳动2021年净亏损6041亿!
  16. RS422-485接口电路设计要点
  17. 储罐液位计算机控制系统,罐区测量流量计液位计工程设计仪表选型
  18. python3.6-XML解析方法
  19. 用秦九昭公式计算多项式
  20. U盘安装win7系统 “详细” 教程

热门文章

  1. 保证你会爱上的软件--私藏
  2. SONICWALL防火墙 L2TP ×××配置方法
  3. python自动化测试教程百度云盘_Python接口自动化测试框架实战视频教程百度云下载...
  4. VC MFC C++ IPControl CIPAddressCtrl IP输入控件使用
  5. jQuery ajax bootstrap layui
  6. 惠普dl20g9服务器系统分区,HPE DL20 Gen10 服务器
  7. 动态规划DP 之 抢劫得到最多的财务(只是针对题,别无他意)
  8. 如何用示波器测量串口
  9. ADSP-21489的图形化编程详解(3:音效开发例程-直通三个例程讲清楚)
  10. 基于S7-200 PLC和MCGS组态花坛喷雾器控制系统的设计