ssrf+log4j=getshell
字数 1555 2025-08-07 08:22:05
SSRF+Log4j组合漏洞利用实战分析
0x01 前言
本文详细分析如何利用Ueditor编辑器的SSRF漏洞结合内网Log4j漏洞实现远程代码执行。实战中遇到魔改版Ueditor无法直接利用文件上传漏洞时,通过SSRF探测内网服务并利用Log4j漏洞成功反弹shell。
0x02 漏洞原理
Ueditor SSRF漏洞
- 影响版本:
- net版本:=1.3.6 || =1.5.0 || <=1.4.3
- php版本:<=1.4.3
- jsp版本:<=1.4.3
- 漏洞点:低版本未对抓取源的IP进行过滤,导致SSRF漏洞
- 修复版本:1.4.3.1、1.4.3.2、1.4.3.3小版本修复了该漏洞
Log4j漏洞
影响多个Apache服务:
- Apache OFBiz (< v18.12.03)
- Apache Solr (v7.4.0 <= Solr <= v7.7.3 或 v8.0.0 <= Solr < v8.11.1)
- Apache Druid
- Apache JSPWiki (= V2.11.0)
- Apache Filnk (< v1.14.2, < v1.13.5, < v1.12.7, < v1.11.6)
- Apache SkyWalking (< v8.9.1)
0x03 环境搭建
- 使用Windows 2016搭建IIS环境
- 将Ueditor代码放入网站目录
- 右键文件夹转换为应用程序
- 准备图片马用于Ueditor抓取测试
注意:图片马命名无需特殊格式(如1.gif?.ashx),普通图片马即可,因为URL解析中?后面会被识别为GET参数。
0x04 任意文件上传Bypass WAF
虽然本文主要讨论SSRF+Log4j组合利用,但原文提到可通过特定方法绕过WAF实现任意文件上传,具体方法可参考T00ls上的技术文章。
0x05 SSRF+Log4j组合利用
利用条件
- 目标使用存在SSRF漏洞的Ueditor版本(特别是net 1.5.0版本)
- 内网存在受Log4j漏洞影响的Apache服务(如Solr)
利用步骤
-
SSRF探测内网服务:
- 构造请求:
source[]=http://内网IP:端口 - 响应判断:
- 返回200:端口开放
- 返回500:端口关闭
- 使用Burp Suite可高效进行内网端口扫描
- 构造请求:
-
识别易受攻击服务:
- 重点关注Apache Solr默认端口(8983)
- 其他可能服务端口:OFBiz、Druid等
-
利用Log4j漏洞:
- 通过SSRF向识别出的易受攻击服务发送精心构造的请求
- 包含恶意LDAP/JNDI查询的payload
- 成功触发后反弹shell
0x06 利用思路详解
- 使用Ueditor的SSRF功能探测内网
- 通过响应状态码识别开放的端口
- 针对识别出的Apache服务(特别是Solr)发送Log4j漏洞利用payload
- 建立反向连接获取shell
0x07 常见问题与注意事项
-
请求构造问题:
- POST请求必须包含
Content-Type头部 - 缺少该头部会导致服务器返回
{"state":"参数错误:没有指定抓取源"}错误
- POST请求必须包含
-
工具使用建议:
- 可使用Hackbar快速构造和发送测试请求
catchimage是默认存在回显的action,适合测试
-
实战经验:
- 该组合利用方式特别适用于魔改版Ueditor无法直接利用文件上传漏洞的情况
- 内网渗透中,SSRF结合已知漏洞(如Log4j)可大幅提升攻击成功率
参考资源
- Log4j漏洞利用POC(原链接已失效,建议搜索最新技术文章)
- Ueditor各版本漏洞对比分析
- 内网渗透中SSRF的高级利用技巧
注:本文所述技术仅限授权测试使用,实际应用中发现的漏洞应及时修复。