apache struts2 输入验证错误漏洞(apache解除80端口占用)

admin 326 0

这篇文章给大家聊聊关于apache struts2 输入验证错误漏洞,以及apache解除80端口占用对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

一、如何查看apache是否存在struts2 漏洞

试试腾讯电脑管家,杀毒+管理2合1,还可以自动修复漏洞:第一时间发现并修复系统存在的高危漏洞,在不打扰您的情况下自动为系统打上漏洞补丁,轻轻松松将病毒木马拒之门外。自动修复漏洞电脑管家可以在发现高危漏洞(仅包括高危漏洞,不包括其它漏洞)时,第一时间自动进行修复,无需用户参与,最大程度保证用户电脑安全。尤其适合老人、小孩或计算机初级水平用户使用

二、如何修补struts 2的安全漏洞

到官网下载最新的 jar包,目前已更新到2.3.20。

删除原有的jar包jsonplugin-xx.jar、ognl-x.x.x.jar、struts2-core-x.x.x.x.jar、xwork-core-x.x.x.x.jar、javassist-x.x.x.jar,其中,如果以前采用过其他jsonplugin插件的话,此jar由struts2-json-plugin-2.3.20jar代替。

struts2-json-plugin-2.3.20.jar

如果原使用的版本为type="redirect-action",替换工程中所有*.xml Struts配置文件中type="redirect-action"为type="redirectAction"。

如果你的工程原来采用的是其他的json类型处理插件的话,修改struts.xml中返回类型为json的处理类相关的配置:

<!--添加的自定义类型JSON对象-->

<result-type name="json" class="com.googlecode.jsonplugin.JSONResult"/>

<!--添加的自定义类型JSON对象-->

<result-type name="json" class="org.apache.struts2.json.JSONResult"/>

修改相关出错的源代码,如果你的工程原来采用的是其他的json类型处理插件的话,所有涉及到jsonplugin-0.30.jar的类由struts2-json-plugin-2.3.15.1.jar中的对应类替换。

struts2标签库的升级:将原有的struts-tag.tld升级为最新。

三、如何看待Struts2远程代码执行漏洞的危害

我们知道这个漏洞是Struts2默认解析上传文件的Content-Type头的过程中出现的问题。struts2如果解析这个头出错,就会执行错误信息中的OGNL代码。该漏洞危害非常大,而且利用成功率高甚至不需要找上传点,自己构造上传包就可以利用,进行远程命令执行。权限自然也基本上属于服务权限,因为你的命令代码是web服务器帮你执行的,它有啥权限,你也就有啥权限。

四、struts2漏洞是什么

根据Apache给出的漏洞修复方案,只是升级了jar包版本2.3.16

升级完成后所有页面访问都出现了404,如下bug:

There is no Action mapped for namespace [/] and action name [XX!XX] associated with context path....

解决办法:当时好像使用了Dynamic Method Invocation动态方法调用,然后Struts.xml文件都修改了通配符和占位符匹配。

2. Struts2 OGNL的高危漏洞S-045

Struts使用的Jakarta解析文件上传请求包不当,当远程攻击者构造恶意的Content-Type,可能导致远程命令执行。

(1)根据Apache给出的漏洞修复方案,升级Struts2相关jar到2.3.32

(2)关于上传文件部分做出如下验证

<3>上传文件验证MimeType;

<4>文件是否可被修改高宽或裁剪(本次项目上传完文件为图片)

学习java知识,推荐北京尚学堂,我们拥有多年编程培训经验,会让你在学习的时候快人一步!

好了,文章到此结束,希望可以帮助到大家。