浅谈OPTIONS漏洞

775 阅读1分钟

HTTP请求一览

image.png 详见:tools.jb51.net/table/http_…

问题描述

OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。 通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。OPTIONS方法可能会暴露一些敏感信息,这些信息将帮助攻击者准备更进一步的攻击。

OPTIONS请求方法的主要用途有两个:

  • 获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
  • 用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。

解决措施

禁用web服务器上的options方法

关闭options方案

  • Lighttpd
// 增加访问限制
$HTTP["request-method"] =~ "^(OPTIONS|HEAD|PATCH)$" { url.access-deny = ("") }