【系统安全】nginx 禁用不安全的http方法
系统安全扫描提示:不安全的http方法。如下图

0x01 漏洞描述
- 不安全的HTTP方法 -
不安全的 HTTP 方法一般包括:PUT、DELETE、COPY、MOVE、SEARCH、PROPFIND、TRACE 等。不合理的权限配置可能导致网站被攻击者非法入侵。

众所周知,GET、POST是最为常见方法,而且大部分主流网站只支持这两种方法,因为它们已能满足功能需求。其中,GET方法主要用来获取服务器上的资源,而POST方法是用来向服务器特定URL的资源提交数据。而其它方法出于安全考虑被禁用,所以在实际应用中,九成以上的服务器都不会响应其它方法,并抛出404或405错误提示。以下列举几个HTTP方法的不安全性:
1、OPTIONS方法,将会造成服务器信息暴露,如中间件版本、支持的HTTP方法等。
2、PUT方法,由于PUT方法自身不带验证机制,利用PUT方法即可快捷简单地入侵服务器,上传Webshell或其他恶意文件,从而获取敏感数据或服务器权限。
3、DELETE方法,利用DELETE方法可以删除服务器上特定的资源文件,造成恶意攻击。
0x02 漏洞验证
使用Burpsuite抓取网站数据包,修改请求包的方法为OPTIONS,响应包中出现PUT、DELETE、TRACE等不安全的 HTTP 方式。
0x03 漏洞修复
限制PUT、DELETE、SEARCH、COPY、MOVE、TRACE等危险的方法的访问权限。
如果不需要使用上述 HTTP 方法,应关闭不必要的方法,只留下GET、POST方法。
修复方式:
①:在tomcat中配置
②:在nginx中配置
③:在apache中配置
④:代码中配置
①在tomcat中配置
凯哥这里以Tomcat版本 8.0.15为例
Tomcat版本 8.0.15
1、禁止tomcat不安全的HTTP请求方法
在 ./conf/web.xml 中
第一步:将<web-app>协议替换为:【此处协议有可能不需要替换】
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/j2ee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
第二步:在web.xml结尾 ,</web-app>之前加入下面的配置
<security-constraint> <web-resource-collection><!-- 白名单配置--> <url-pattern>/*</url-pattern> <http-method-omission>GET</http-method-omissi
原创不易,完成人机校验,阅读全文