前言
持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。
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 漏洞修复
- 限制PUT、DELETE、SEARCH、COPY、MOVE、TRACE等危险的方法的访问权限。
- 如果不需要使用上述 HTTP 方法,应关闭不必要的方法,只留下GET、POST方法。