标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-3039] 作者: 小螺号 发表于: [2022-03-18] [2022-03-25]被用户:浩丶轩 修改过
本文共 [340] 位读者顶过
漏洞问题重现依赖首先,先码一下依赖,我这里是gradle工程,大都督的是maven工程,不过都一样。[出自:jiwo.org]![]() 常规的日志写法一般来说我们是这么写日志的。因为这个demo我仅仅只依赖了log4j2,所以代码就直接调用log4j2的api记录日志了。![]() 上面这个应该是我们非常常用的一种日志记录手法了。输出的结果应该是hello world lookups不过log4j2并不满足上面的功能,他们提供了一种叫lookups的功能log4j2的lookups说明。这功能强大啊,我们用demo看一下: ![]() 我们看下输出的结果: ![]() 从结果上可以看到,输出的并不是hello ${java:os}和hello ${java:vm},而是当前服务的操作系统信息和虚拟机信息。其实如果仅仅是这样,那也算不上什么漏洞,只能说功能强大而已。
但是,log4j2还支持了Jndi Lookup这就很要命了。为了观察这个问题,我们先启动个JNDI的服务看看 |