一、背景说明(与此节修复没多大关系可跳过)
今天应用报扫描出“启用不安全的HTTP方法”漏洞需要进行修复,看后边还有IIS的修复建议;一边不满怎么用IIS一边研究了具体操作半天,由于IIS不同版本操作起来可能有不同所以看一下版本号。
老办法访问一个不存在的页面,看到了如下 界面:
谁妹子的说是IIS的,真妹子的误导人;不过JBoss2.0不太可能吧这是哪年的东西,难道不是JBoss?搜一下真有JBoss web这东西
JBoss就用得少了,来个JBos Web那不是有的搞?还好有位大哥写了个安装教程,看起来不复杂。
装完之后,看目录,这哪是像tomcat难道不是就是个tomcat?国产中间件都没你这么像啊。
不过无所谓啊,对我们处理问题而言越像越好。
但到应用主机上再看目录完完全全不一样啊,这是什么东西?
(上图为本地装的jboss web的bin目录下文件的截图)
(上图为本地装的jboss5的bin目录下文件的截图)
难道是哪位大神把脚本全给重写了,打开run.sh开头就正规的注释,这基本不可能啊。
灵机一动,搜下“jboss_init_redhat.sh”这种基本专有的名称会有什么结果?JBoss?有没有可能这东西根本就是JBoss而不是JBoss Web?
去下载一个JBoss5,解压果然目录文件果然一样,再看报错果然JBoss也曝的是JBoss Web(JBoss默认只监听127.0.0.1);唉,都怪自己懂得太多了不然一早按JBoss搞早搞完了:)
二、修复方法
进入JBoss目录,使用find找到项目对应的web.xml
find . -name "*web.xml"
然后在末尾追加以下内容(当然还是得在<webapp>标签内):
<security-constraint> <web-resource-collection> <web-resource-name>NoAccess</web-resource-name> <url-pattern>/*</url-pattern> <http-method>DELETE</http-method> <http-method>PUT</http-method> <http-method>OPTIONS</http-method> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint>
保存然后重启JBoss即可
参考: