工作小总结

【系统安全】nginx 禁用不安全的http方法

系统安全扫描提示:不安全的http方法。如下图0x01漏洞描述-不安全的HTTP方法-不安全的HTTP方法一般包括:PUT、DELETE、COPY、MOVE、SEARCH、PROPFIND、TRACE等。不合理的权限配置可能导致网站被攻击者非法入侵。众所周知,GET、POST是最为常见方法,而且大部分主流网站只支持这两种方法,因为它们已能满足功能需求。其中,GET方法主要用来获取服务器上的资源,而

系统安全扫描提示:不安全的http方法。如下图

dec8db6084eaf46d93b8d1cd78d7e204.png

0x01 漏洞描述

- 不安全的HTTP方法 -

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

c0d32680dbbeeb40e28ea5f1037ee264.png

众所周知,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 漏洞修复

  1. 限制PUT、DELETE、SEARCH、COPY、MOVE、TRACE等危险的方法的访问权限。

  2. 如果不需要使用上述 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

原创不易,完成人机校验,阅读全文

相关推荐