apache log4j 远程代码执行漏洞 严重
影响的版本范围:apache log4j 2.x <= 2.14.1
创建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-rver</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-rver.log" filepattern="${logdir}/dust-rver_%d{yyyy-mm-dd}.log"> <thresholdfilter level="info" onmatch="accept" onmismatch="deny"/> <patternlayout> <pattern>${pattern}</pattern> </patternlayout> <policies> <timebadtriggeringpolicy interval="1"/> </policies> <!-- 日志保留策略,配置只保留七天 --> <defaultrolloverstrategy> <delete bapath="${logdir}/" maxdepth="1"> <iffilename glob="dust-rver_*.log" /> <iflastmodified age="7d" /> </delete> </defaultrolloverstrategy> </rollingfile> </appenders></configuration>
创建测试类log4j2demo
//java项目 fhadmin.cnpublic class log4j2demo { private static final logger logger=logmanager.getlogger(); public static void main(string[] args) { string urname="${java:os}"; logger.info("hello, {}",urname); }}
运行结果
[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] —————————————————————R实践创新12;——
[info] total time: 1.140 s
[info] finished at: 2021-12mc小洲-11t11:44:14+08:00
[info] ————————————————————————
在这里面我们可以看到使用${}可以实现漏洞的注入,假设urname为用户登录的输入框,即可从这个输入框进行注入,既可查看到一些后台系统信息,如果有黑客在使用jndi编写恶意代码注入的话,后果是非常严重的。
修改log4j2版本
据 apache 官方最新信息显示,relea 页面上已经更新了 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 漏洞修复和临时补救方法的文章就介绍到这了,更多相关log4j 漏洞修复内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 03:02:09,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/e516eba019b4e4885874ae16973be9b8.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:全网最新Log4j 漏洞修复和临时补救方法.doc
本文 PDF 下载地址:全网最新Log4j 漏洞修复和临时补救方法.pdf
留言与评论(共有 0 条评论) |