🗒️Struts2 S2-052反序列化漏洞
2021-7-2
| 2023-4-18
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password

漏洞原理

Apache Struts2的REST插件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,存在安全隐患,可被远程攻击。

利用

xstream在默认情况下是可以引入任意对象的(针对1.5.x以前的版本),方法就是直接通过xml的tag name指定需要实例化的类名,所以可以通过反序列化引入任意类造成远程命令执行漏洞,只需要找到一个在Struts2库中适用的gedget。

代码流程

struts2-rest-plugin插件使用拦截器Contentypelnterceptor进行过滤请求,过Content-Type或URI后缀名来识别不同的请求数据类型,其中对xml请求调用XStreamHandler进行处理.然后在XStreamHandler的toObject方法进行反序列化触发漏洞

修复

1.设置黑白名单,对传入的数据进行过滤 2.升级Struts版本
 
Struts2 S2-052反序列化漏洞
漏洞
  • 反序列化
  • 漏洞
  • Struts2远程命令执行SSTI及Thymeleaf 模板引擎注入
    目录