如何永久解决Apache Struts文件上传漏洞

Apache Struts又双叒叕爆文件上传漏洞了。

自Apache Struts框架发布以来,就存在多个版本的漏洞,其中一些漏洞涉及到文件上传功能。这些漏洞可能允许攻击者通过构造特定的请求来绕过安全限制,从而上传恶意文件。虽然每次官方都发布补丁进行修复,但是问题一直没有根除过,时不时的又爆出新的漏洞。

那么有没有办法杜绝Apache Struts文件上传漏洞呢?

依靠Apache Struts自身肯定是不行的,毕竟官方也不知道什么时候爆出新的漏洞。

所谓文件上传漏洞,是指绕过系统安全限制,非法上传恶意文件。哪如果让黑客不能上传恶意文件,或是让上传的恶意文件不能被执行,不就解决问题了吗?

思路有了,接下来就是如何实现拦截功能。要阻止黑客上传恶意文件,可以使用杀毒软件和防篡改功能来解决。杀毒软件不说了,没有一家杀毒公司敢保证100%的拦截效果,只能作为辅助手段。那就只剩下防篡改功能了。

但新的问题又来了,恶意文件有两种,一种是破坏操作系统的可执行文件,一种是破坏网站的网页木马。对于破坏操作系统的可执行文件,总不至于对全操作系统做防篡改保护吧,这样操作系统将立刻蓝屏。幸运的是,可以使用《护卫神.防入侵系统》的"进程防护"来解决这个问题。"进程防护"模块用于对软件做防护,可以限制软件的网络通信范围和文件访问范围。设置以后,软件只能按照预定规则访问文件和网络,没有任何办法越权,轻松搞定非法提权。

Apache Struts一般和Tomcat集成使用,接下来我们以Tomcat为防护对象,通过《护卫神.防入侵系统》,手把手演示如何一劳永逸的解决Apache Struts文件上传漏洞。

防护思路如下:

1、 设置Tomcat对jsp文件和可执行文件只有读取权限(阻止上传非法文件)

2、 设置Tomcat只对网站目录和日志目录有写权限(保障网站正常访问)

3、 设置Tomcat不能执行任何文件(禁止执行高危命令,例如cmd.exe、net.exe)

注意:虽然本文以Windows为例,但对Linux系统也适用,只是设置方法大同小异,详情请咨询护卫神客服!

第一步:添加Tomcat防护对象

(图一:添加Tomcat防护)

第二步:在"文件访问"选项卡,添加如下文件访问规则

温馨提示:护卫神.防入侵系统按优化级顺序逐条匹配访问路径规则,匹配到禁止操作就跳出。优先级数字越小,越优先执行!

|---------|--------------------------------------------------|--------------------------|
| 优先级 | 访问路径 | 操作限制 |
| 1 | *\conhost.exe | 禁止新建、禁止改名、禁止修改、禁止删除 |
| 1 | *\werfault.exe | 禁止新建、禁止改名、禁止修改、禁止删除 |
| 10 | *.jsp | 禁止执行、禁止新建、禁止改名、禁止修改、禁止删除 |
| 10 | *.exe | 禁止执行、禁止新建、禁止改名、禁止修改、禁止删除 |
| 20 | d:\wwwroot\* | 禁止执行 |
| 20 | c:\hws.com\hwsjspmaster\tomcat9\* | 禁止执行 |
| 20 | c:\windows\temp\* | 禁止执行 |
| 20 | c:\windows\syswow64\config\systemprofile\* | 禁止执行 |
| 20 | c:\programdata\microsoft\* | 禁止执行 |
| 99 | * | 禁止执行、禁止新建、禁止改名、禁止修改、禁止删除 |

添加结果如下图:

(图二:Tomcat进程防护规则)

文件访问规则解释:

优先级为"1"的规则:

最先执行的规则,这2个是Windows启动Tomcat产生的配套进程。

只允许读取和执行,防止黑客创建同名文件绕过防护。

优先级为"10"的规则:

设置禁止写操作的文件类型。.jsp是网页木马,.exe是可执行文件。同样还可以添加其他类型,例如:.do、.dll、.vbs等等。

只允许读取,防止黑客上传此类恶意文件。

优先级为"20"的规则:

设置允许写操作的目录。一般填写网站目录、Tomcat安装目录、系统临时目录。

允许读取和写操作,禁止执行。

优先级为"99"的规则:

设置其他文件的访问规则。填写"*",表示所有文件。

只允许读取,禁止黑客写操作任何文件,或执行高危命令(cmd.exe、net.exe)。

第三步:检查拦截效果

设置好防护规则后,黑客再想通过Apache Struts上传网页木马、恶意病毒,或执行高危命令(cmd.exe、net.exe)就成为不可能了,都会被护卫神拦截,轻松搞定Apache Struts文件上传漏洞。即使后期再次爆出此种漏洞,也不用担心,护卫神会一如既往的守护服务器安全!拦截效果如下图:

(图七:拦截非法执行cmd.exe提权)

(图八:拦截上传可执行文件)

(图八:拦截上传JSP文件)

原文: 如何一劳永逸解决Apache Struts文件上传漏洞

相关推荐
azhou的代码园2 分钟前
基于JAVA+SpringBoot+Vue的制造装备物联及生产管理ERP系统
java·spring boot·制造
丘狸尾24 分钟前
[cisco 模拟器] ftp服务器配置
android·运维·服务器
黑客老陈32 分钟前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
大猫和小黄35 分钟前
Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
linux·服务器·windows·git
Joyner201838 分钟前
【Linux】ubuntu通过远程命令行启动桌面应用
linux·服务器·ubuntu
ghostwritten42 分钟前
Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon
linux·运维·服务器
wm104343 分钟前
java web springboot
java·spring boot·后端
我是唐青枫43 分钟前
Linux xargs 命令使用教程
linux·运维·服务器
gallonyin44 分钟前
【监控】夜莺监控系统各环节资源压力分析
运维·服务器
smile-yan44 分钟前
Provides transitive vulnerable dependency maven 提示依赖存在漏洞问题的解决方法
java·maven