服务器开门揖盗?禁用不安全HTTP方法刻不容缓!——Web应用安全实战(PART6)

admin 2025-12-30 01:24:40 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详解了服务器启用不安全HTTP方法如DELETE、PUT等带来的中风险漏洞,攻击者可借此篡改或删除文件。文章指出风险源于WebDAV功能,建议禁用该功能或通过Java过滤器仅允许GET和POST请求,并提供了具体的Filter代码与Tomcat配置步骤,以加固服务器安全防线。 综合评分: 92 文章分类: Web安全,应用安全,漏洞分析,解决方案,安全开发


cover_image

服务器开门揖盗?禁用不安全 HTTP 方法刻不容缓!——Web 应用安全实战(PART 6)

原创

耶度

野猪与安全

2025年12月29日 10:01 广东

各位开发同学,咱们的 Web 安全实战系列更新到第六篇啦!上一篇我们重点拆解了后端的两个“泄密型”漏洞——发现数据库错误模式和应用程序错误,明确了“严格校验输入”和“屏蔽敏感错误”两大核心防御思路。今天,我们把目光转向服务器的“大门”——HTTP 协议层面,聊聊一个极易被忽视的基础漏洞:启用了不安全的 HTTP 方法。

很多时候,我们加固了登录、防御了注入、屏蔽了错误,却忘了给服务器的“访问规则”上锁。服务器默认开放的 DELETE、COPY、MOVE 等 HTTP 方法,就像没锁的窗户,一旦被黑客利用,就能直接修改、删除服务器上的文件,后果不堪设想。话不多说,直接上干货!


启用了不安全的 HTTP 方法——服务器的“未锁窗户”

中风险漏洞

1. 漏洞描述:Allow 头暴露危险方法,WebDAV 成攻击突破口

这个漏洞的核心很明确:当我们通过浏览器或工具查看服务器的响应头时,若 Allow 头中显示 DELETE、SEARCH、COPY、MOVE 等危险 HTTP 方法被允许,就说明服务器启用了 WebDAV(Web 分布式创作和版本管理)功能,且开放了不必要的 HTTP 方法。这相当于给黑客递了一把“万能钥匙”,让他们有机会利用这些方法对服务器发起攻击。

简单解释下:HTTP 方法不只有我们常用的 GET(获取数据)和POST(提交数据),还有 DELETE(删除资源)、PUT(上传/修改资源)、COPY(复制资源)等多种方法。WebDAV 原本是为了方便开发者远程管理服务器文件而设计的,但如果随意开放,就会变成黑客攻击的突破口。

安全级别:

中风险!仅在 Tomcat 服务器中存在,但攻击成功后会直接威胁服务器文件安全;且 WebDAV 历史上曾出现过多个特权提升漏洞,风险不容小觑。

2. 核心风险:服务器文件被随意篡改、删除

黑客利用这些不安全的 HTTP 方法,能轻松做到这些事:

  • 通过 PUT 方法向服务器上传恶意脚本(如木马文件),进而控制整个服务器;
  • 通过 DELETE 方法删除服务器上的核心文件(如首页 HTML、业务脚本),导致网站瘫痪;
  • 通过 COPY、MOVE 方法篡改网站内容(如替换正常页面为钓鱼页面),诱导用户输入敏感信息;
  • 更严重的是,结合 WebDAV 的历史漏洞,黑客可能实现特权提升,执行更多恶意操作。

3. 解决方案:禁用 WebDAV 或拦截危险 HTTP 方法

防御的核心思路是“按需开放,多余即关闭”,具体有两个关键方案:

  • 若服务器不需要支持 WebDAV(绝大多数业务系统都不需要),请直接禁用 WebDAV 功能,从根源上杜绝此类风险;
  • 若因特殊需求必须启用 WebDAV,需严格限制 HTTP 方法,仅保留业务必需的方法(优先只保留 GET 和 POST),禁止 DELETE、COPY、MOVE 等所有危险方法。

4. 技术实现:添加过滤器,只允许 GET 和 POST 方法访问

最直接、可落地的方案是添加自定义过滤器,拦截所有非 GET 和 POST 的 HTTP 方法,直接返回 403 禁止访问。具体实现步骤(以 Java Web+Tomcat为例)如下:

(1)编写 HTTP 方法过滤器(核心代码)

创建 HttpMethodFilter 类,核心逻辑是校验请求方法,仅放行 GET 和 POST:

public class HttpMethodFilter implements Filter{    // 过滤器销毁时执行    public void destroy() {    }    // 核心过滤逻辑    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {                HttpServletRequest req = (HttpServletRequest) request;                HttpServletResponse res = (HttpServletResponse) response;                // 获取当前请求的HTTP方法(如GET、POST、DELETE等)        String method = req.getMethod();                // 仅允许GET和POST方法,其他方法直接返回403禁止访问        if(!method.toUpperCase().equals("POST") && !method.toUpperCase().equals("GET")){            res.setStatus(HttpServletResponse.SC_FORBIDDEN); // 403状态码:禁止访问            return;        }                // 合法方法,放行继续执行后续逻辑        filterChain.doFilter(request, response);    }    // 过滤器初始化时执行    public void init(FilterConfig filterConfig) throws ServletException {    }}

(2)配置 web.xml,注册过滤器

在项目的 web.xml 文件中添加过滤器配置,让过滤器对所有请求生效:

<filter>&nbsp; &nbsp;&nbsp;<filter-name>httpMethodFilter</filter-name>&nbsp; &nbsp;&nbsp;<filter-class>&nbsp; &nbsp; &nbsp; &nbsp; cn.com.victorysoft.devcenter.component.usrmgr.security.filter.HttpMethodFilter&nbsp; &nbsp;&nbsp;</filter-class></filter>
<filter-mapping>&nbsp; &nbsp;&nbsp;<filter-name>httpMethodFilter</filter-name>&nbsp; &nbsp;&nbsp;<url-pattern>/*</url-pattern>&nbsp;<!-- 拦截所有请求 --></filter-mapping>

(3)额外加固:直接禁用 Tomcat 的 WebDAV 功能

若业务不需要 WebDAV,建议直接禁用该功能,步骤如下:

  1. 找到 Tomcat 安装目录下的 /conf/web.xml 文件;
  2. 在文件中找到关于 WebDAV 的 Servlet 和 Servlet-mapping 配置(通常包含“webdav”关键字);
  3. 将这些配置注释掉(或删除);
  4. 重启 Tomcat 服务器,即可完成 WebDAV 的禁用。

重要提醒:

 此漏洞仅存在于 Tomcat 服务器,其他类型服务器(如 Nginx、Apache)需通过对应配置关闭不安全 HTTP 方法;

配置完成后,建议通过 Postman 等工具测试:用 DELETE、PUT等方法发起请求,若返回 403 状态码,则说明配置生效;

若确实需要使用 PUT 等方法(如 RESTful API 场景),需单独做权限校验,确保只有授权用户能使用。


安全攻击及防范手册

聚焦服务器管理!下一篇拆解“BEA WebLogic 管理界面”漏洞

今天我们搞定了 Tomcat 服务器特有的“启用了不安全的 HTTP 方法”漏洞。总结一下核心要点:防御的关键是“要么禁用 WebDAV,要么通过过滤器拦截危险方法”,优先只保留 GET 和 POST 两种常用方法。服务器的基础安全配置很容易被忽视,但却是整个 Web 应用的“第一道防线”,各位开发同学一定要重视!

下一篇(PART 7),我们将聚焦企业级服务器的管理安全,拆解“BEA WebLogic 管理界面”相关漏洞。WebLogic 作为常用的企业级应用服务器,其管理界面若配置不当,会成为黑客入侵的重灾区,可能导致服务器被完全控制。这部分内容对使用 WebLogic 的同学至关重要,千万别错过!

你在 Tomcat 服务器配置中有没有遇到过 WebDAV 相关的问题?或者在配置过滤器时遇到过难题?欢迎在评论区留言讨论,我们将在后续文章中针对性解答!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:野猪与安全 耶度《服务器开门揖盗?禁用不安全 HTTP 方法刻不容缓!——Web 应用安全实战(PART 6)》

评论:0   参与:  0