不安全的 HTTP 方法
0x01 漏洞描述
- 不安全的HTTP方法 -
目标服务器启用了不安全的HTTP方法,例如PUT、DELETE、COPY、MOVE、SEARCH、PROPFIND、TRACE等。不合理的权限配置有可能允许未授权的用户对其进行利用,可能导致文件篡改、数据删除、信息泄露等严重安全问题。
HTTP 方法 | 核心作用 | 主要安全风险 | 典型攻击场景 |
---|---|---|---|
PUT | 向服务器上传 / 替换指定路径的资源 | 未授权文件上传、覆盖服务器核心文件(如配置文件、脚本文件) | 攻击者通过 PUT /malicious.php HTTP/1.1 上传恶意 PHP 脚本,执行服务器命令;覆盖 index.html 篡改网站首页。 |
DELETE | 删除服务器上指定路径的资源 | 未授权数据删除、文件删除,导致业务数据丢失或服务不可用 | 攻击者通过 DELETE /api/user/123 HTTP/1.1 删除用户数据;删除服务器关键配置文件(如 /etc/passwd,Linux 环境)。 |
TRACE | 回显服务器收到的请求内容(调试用) | 跨站追踪(Cross-Site Tracing, XST),泄露客户端 Cookie(尤其是未设 HttpOnly 的 Cookie) | 攻击者构造恶意页面,诱使用户访问,通过 TRACE 请求回显用户的 sessionid,进而劫持会话。 |
OPTIONS | 获取服务器支持的 HTTP 方法列表 | 信息探测:为攻击者提供 “攻击入口”(如发现支持 PUT,则尝试文件上传) | 攻击者发送 OPTIONS * HTTP/1.1,若返回 Allow: GET, POST, PUT, DELETE,则确定可利用 PUT/DELETE 发起攻击。 |
COPY | 复制服务器上的资源到指定路径 | 未授权复制敏感文件(如数据库备份、用户数据),或复制恶意文件扩散影响 | 复制服务器 /data/user_info.db 到可访问路径(如 /public/leak.db),下载窃取用户数据。 |
MOVE | 移动服务器上的资源到指定路径 | 篡改资源路径,导致敏感文件被移动到公开目录,或覆盖正常文件 | 将服务器 /private/config.php 移动到 /public/config.php,泄露数据库连接信息。 |
0x02 漏洞等级
威胁级别 | 高危 | 中危 | 低危 |
0x03 漏洞验证
使用Burpsuite抓取网站数据包,修改请求包的方法为OPTIONS,响应包中出现PUT、DELETE、TRACE等不安全的 HTTP 方式。
0x04 漏洞修复
- 限制PUT、DELETE、SEARCH、COPY、MOVE、TRACE等危险的方法的访问权限。
- 如果不需要使用上述 HTTP 方法,应关闭不必要的方法,只留下GET、POST方法。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 鸣剑Sec!