不安全的 HTTP 方法


前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

- 不安全的HTTP方法 -

目标服务器启用了不安全的HTTP方法,例如PUT、DELETE、COPY、MOVE、SEARCH、PROPFIND、TRACE等。不合理的权限配置有可能允许未授权的用户对其进行利用,例如攻击者可以通过PUT方法直接上传WebShell文件到有写权限的目录,从而控制网站。

方法 描述
GET Get长度限制为1024,特别快,不安全,在URL里可见,URL提交参数以?分隔,多个参数用&连接,请求指定的页面信息,并返回实体主体
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 长度一般无限制,由中间件限制,较慢,安全,URL里不可见,请求的参数在数据包的请求body中
OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*’的请求来测试服务器的功能性
PUT 向指定的资源目录上传文件
DELETE 请求服务器删除指定的资源
COPY 将指定的资源复制到Destination消息头指定的位置
MOVE 将指定的资源移动到Destination消息头指定的位置
SEARCH 在一个目录路径中搜索资源
PROPFIND 获取与指定资源有关的信息,如作者、大小、与内容类型
TRACE 在响应中返回服务器收到的原始请求,主要用于测试或诊断
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

使用Burpsuite抓取网站数据包,修改请求包的方法为OPTIONS,响应包中出现PUT、DELETE、TRACE等不安全的 HTTP 方式。

0x04 漏洞修复

  1. 限制PUT、DELETE、SEARCH、COPY、MOVE、TRACE等危险的方法的访问权限。
  2. 如果不需要使用上述 HTTP 方法,应关闭不必要的方法,只留下GET、POST方法。

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
GoTTY 未授权远程命令执行漏洞 GoTTY 未授权远程命令执行漏洞
GoTTY 是一个简单的基于 Go 语言的命令行工具,它可以将终端(TTY)作为 Web 程序共享。GoTTY 的架构是基于 Hterm + Web Socket 的,它能在 Web 浏览器上运行一个基于 Java 的终端,并支持通过 HTTP 和 HTTPS 访问。当 GoTTY 未正确配置身份验证启动时,任意用户可通过 GoTTY 程序的 Web 页面未授权远程命令执行。
2022-10-15
下一篇 
锐捷EWEB网管系统远程命令执行漏洞(CNVD-2021-09650) 锐捷EWEB网管系统远程命令执行漏洞(CNVD-2021-09650)
锐捷网络股份有限公司NBR路由器EWEB网管系统存在命令执行漏洞,攻击者可利用该漏洞获取服务器控制权限。
2022-10-13
  目录