专栏名称: 红队蓝军
一群热爱网络安全的人,知其黑,守其白。不限于红蓝对抗,web,内网,二进制。
今天看啥  ›  专栏  ›  红队蓝军

S2-061 Struts2远程代码执行漏洞复现 (POC详解)

红队蓝军  · 公众号  ·  · 2024-07-01 18:10

文章预览

什么是Struts2 Struts2是一个用Java编写的开源MVC Web应用框架,Struts也是一个中间件,它可以连接不同的系统和服务。 M是指业务模型,V是视图,C则是控制器(理解为请求接口,比如登录接口/login) Struts2默认的表达式解析语言是OGNL Struts2漏洞原理 攻击者可以通过构造恶意的HTTP请求,利用Struts 2框架的OGNL表达式注入漏洞,执行任意命令或代码。 Struts2 会对某些标签属性(比如 id) 的属性值进行二次表达式解析,因此当这些标签属性中使用了 %{A} 且 A 的值用户可控时,用户再传入一个 {payload}即可造成OGNL表达式执行。获得目标服务器的权限,实现远程代码执行攻击。 漏洞影响版本 Struts 2.0.0-2.5.25 什么是OGNL表达式 是Struts 2中用于查询和操作对象的表达式语言,它允许开发者直接访问对象属性和方法。 OGNL三要素 - Expression表达式 - root根对象、即操作对象 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览