错误响应上的X-Frame-Options标头

X-Frame-Options header on error response

本文关键字:X-Frame-Options 标头 响应 错误      更新时间:2023-11-09

我发现了一个与X-Frame-Options标头相关的有趣错误报告。但我不明白这怎么会是安全问题。

以下代码是漏洞的证明:

require 'net/http'  
require 'uri'  
uri = URI.parse("https://play.google.com/#{"a" * 10000}")  
@r = Net::HTTP.get_response uri  
ret = @r.each_header {|x| puts x}  
if ret["x-frame-options"]  
  puts ret["x-frame-options"]  
else  
  puts "Missing x-frame-options!"  
end 

但它正试图访问一个无效的URL(https://play.google.com/aaaaaaaaa...)并返回错误页面。在响应中,缺少x-frame-options标头。我不明白这怎么会是一个安全漏洞(因为它是一个无效页面,而且是一个错误响应)?如何将其用于点击劫持?为什么设置此标头对错误响应也很重要?

您可以将以下行添加到.htaccess

Header always unset X-Frame-Options