Struts2漏洞拉响网站安全红色警报以及把Struts2更新为最新版本Struts2.3.15.1步骤
360网站安全检测平台今日发布红色警报称,广泛应用在国内大型网站系统的Struts2框架正在遭到黑客猛烈攻击。利用Struts2“命令执行漏洞”,黑客可轻易获得网站服务器ROOT权限、执行任意命令,从而窃取重要数据或篡改网页,目前国内至少有3500家网站存在该高危漏洞。据乌云漏洞平台显示,运营商及金融等领域大批网站,甚至包括政府网站均受Struts2漏洞影响。
360网站安全检测服务网址:http://webscan.360.cn
Struts框架官方最新版本:http://struts.apache.org/download.cgi#struts234
Struts2“命令执行漏洞”早在2010年已经曝光,但当时没有公开的漏洞利用工具,因此并未造成过多危害。直到近期,针对该漏洞新的攻击代码在网上公开,漏洞利用工具也随之涌现,使黑客攻击完全没有门槛,80%以上应用Struts2框架的网站因此面临严重风险。
经360网站安全检测平台分析,Apache Struts2中WebWork框架使用XWork基于HTTP参数名执行操作和调用,将每个HTTP参数名处理为OGNL(对象图形导航语言)语句。为了防范攻击者通过HTTP参数调用任意方式,XWork使用了以下两个变量保护方式的执行:
- OgnlContext的属性xwork.MethodAccessor.denyMethodExecution(默认设置为true)
-SecurityMemberAccess私有字段allowStaticMethodAccess(默认设置为false)
为了防范篡改服务器端对象,XWork的ParametersInterceptor不允许参数名中出现“#”字符,但如果使用了Java的unicode字符串表示\u0023,攻击者就可以绕过保护,修改保护Java方式执行的值。进一步可调用java语句来执行任意命令,甚至控制操作系统。
之前Struts2官方补丁屏蔽了黑客通过\u0023 (16进制的#) 攻击的方式,但黑客仍可以利用\43(8进制的#)实施突破。
鉴于Struts2“命令执行漏洞”影响网站众多,且危害巨大,360网站安全检测平台已紧急更新漏洞库,并向存在漏洞的注册网站发送示警邮件,同时建议所有使用Struts2框架的用户立即升级至官方最新版本,并定期使用360网站安全检测服务随时掌控网站安全状况。
更新Struts2最新版本为Struts2.3.15.1
首先把项目中对应的这几个包都换成上面的包,这里要特别说明一下的是commons-lang3-3.1.jar对应的(我项目中就是commons-lang-2.6.jar)是不用删除替换的,保留它就可以了,因为它不会更commons-lang3-3.1.jar产生冲突,而且commons-lang还涉及到其它包的应用比如json。改了这些后jar的升级就算完成了。
现在就修改配置文件,首先修改web.xml的Struts2的FilterDispatcher改成如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
然后就修改struts.xml的头部,修改成
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
最后把redirect-action改成redirectAction。
改了这些后就要把项目中的类出现的错误都解决了就可以正常运行项目了。
Struts2漏洞拉响网站安全红色警报以及把Struts2更新为最新版本Struts2.3.15.1步骤的更多相关文章
- Drupal 网站漏洞修复以及网站安全防护加固方法
drupal是目前网站系统使用较多一个开源PHP管理系统,架构使用的是php环境+mysql数据库的环境配置,drupal的代码开发较为严谨,安全性较高,但是再安全的网站系统,也会出现网站漏洞,dru ...
- struts2漏洞原理及解决办法
1.原理 Struts2的核心是使用的webwork框架,处理action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介 ...
- 【红色警报】XXE 高危漏洞将大面积影响微信支付安全,可能导致系统沦陷,请升级你的系统!
今天,微信支付发布了一则紧急通知: 尊敬的微信支付商户: 您的系统在接受微信支付XML格式的商户回调通知(支付成功通知.退款成功通知.委托代扣签约/解约/扣款通知.车主解约通知)时,如未正确地进行安全 ...
- 今天晚上 中国互联网被Struts2漏洞血洗
Apache官方今天晚上发布安全公告(官方编号S2-032/CVE编号CVE-2016-3081),Apache Struts2服务在开启动态方法调用(DMI)的情况下,可以被远程执行任意命令,安全威 ...
- Struts2漏洞解决
如果你也正在使用Struts2作为web层框架做开发或者做公司的送检产品,然后被告知有各种各样的Struts2漏洞,那本篇博客值得你花时间来喽上一两眼. 前端时间抽空为公司做了新一代的送检产品,为了方 ...
- Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)
Struts2漏洞利用工具下载(已更新V1.8版) 2017-03-21:增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过部 ...
- struts2漏洞-第一次入侵经历
这两天上数据库,老师给了我们一个网站,该网站是一个售花网站.是有一个师兄写的毕业设计.然后挂在内网,然后使用这个系统,然后分析网站,写个数据库设计的报告.简单的写了数据库作业后就闲来无事做,就想对这个 ...
- Struts2漏洞分析,漏洞波及全系版本
Struts漏洞分析 Apache Struts团队已经发布了Struts 2.3.15.1安全更新版本.在Struts2.3.15.1版本之前,存在着严重的安全漏洞,如果现在一些比较大的网站是 ...
- Struts2漏洞
近日,Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞.这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企 ...
随机推荐
- Gradient Domain Guided Image Filtering(梯度域导向滤波)
作者提出了一种新的梯度域引导图像滤波器,通过将明确的一阶边缘感知约束结合到现有的引导图像滤波器中. matlab代码实现 转载至:https://blog.csdn.net/majinlei121/a ...
- javaMelody监控javaWeb程序性能
JavaMelody应用监控使用指南 原文:<JavaMelody应用监控使用指南> 前言 本文参考JavaMelody的UserGuide编写,部分文字均来自文档,添加有个人理解.并进行 ...
- C++11 AUTO 类型实践
auto在C++11中引入,为大家带来方便. 具体使用及注意事项参考: https://blog.csdn.net/xiaoquantouer/article/details/51647865 htt ...
- SPOJ-SERVICE 线性dp+维度压缩
还是线性dp,有点感觉了,另外这个问题也可以用滚动数组 /* 依然是先按照阶段i划分, dp[i][j][k]表示完成第i个请求时,两个员工分别在j位置和k位置的费用(还有一个员工一定在位置p) dp ...
- poj3481 splaytree模板题
找不到错在哪里,先留着吧 /* splay是以键值排序的! 三个操作:1 a b,z增加键值为b的点,值为a 2,查询最大值 3,查询最小值 需要的操作:rotate,splay,insert,fin ...
- pytest十六:allure2 生成 html 报告
allure 是一个 report 框架,支持 java 的 Junit/testng 等框架,当然也可以支持 python 的 pytest 框架,也可以集成到 Jenkins 上展示高大上的报告界 ...
- python接口自动化测试十三:url编码与解码
# url编码与解码 from urllib import parse url = 'http://zzk.cnblogs.com/s/blogpost?Keywords=中文' a = '中文' b ...
- DOMContentLoaded与load的区别
声明:此文章为转载(点击查看原文),如有侵权24小时内删除.联系QQ:1522025433. (1)在chrome浏览器的开发过程中,我们会看到network面板中有这两个数值,分别对应网 络请求上的 ...
- Paget Object 设计模式编写selenium测试用例
示例常规代码 baidu.py # _*_ coding:utf-8 _*_ import csv,unittest,time #导入csv模块 from time import sleep from ...
- mySQL 增量备份方案
1.在 /etc/my.cnf 下面设置开启bin-log 编辑 vim /etc/my.cnf [mysqld] binlog_format = MIXED ...