最近有几个网站被扫描出有漏洞,其中一个是开放了多余的OPTIONS方法,这个OPTIONS就像是HTTP的GET,POST方法这些。因为我的项目是ASP.NET的,所以第一时间想到的就是在web.config里面配置关闭此方法,结果经过测试发现好像不生效,不知道是我测试环境有问题还是真的不生效。另一个漏洞就是没有设置HTTP响应头X-Frame-Options,一般安全要求是将该响应头的值设置为SAMEORIGIN,这个漏洞比较容易搞定,解决方法也比较多。
一、首先我们来看看第一个,关闭OPTIONS方法
1、在IIS中,选择根节点或者具体网站,然后在右侧的功能中选择【请求筛选】-->【HTTP谓词】-->右键添加【拒绝谓词】-->输入【OPTIONS】,然后确定即可
到此为止,OPTIONS方法就已经被关闭了。
OPTIONS方法测试:
1、如果返回OK,则说明开启了OPTIONS方法
2、如果返回错误信息,则说明OPTIONS方法已经关闭
测试程序及.NET版本源码下载:HTTP提交方法测试.zip
二、设置HTTP响应头输出X-Frame-Options
方法1:在IIS中,选择根节点或者具体网站 -->【HTTP响应标头】-->右键添加,名称为【X-Frame-Options】-->值为【SAMEORIGIN】
方法2:ASP.NET项目,在全局代码文件【Global.asax.cs】的【Application_BeginRequest】事件中添加如下代码:
HttpContext.Current.Response.AddHeader("X-Frame-Options", "SAMEORIGIN");
以上两种方法都可以实现此功能,同时网上有方法说可以在web.config中配置实现,同样,我也测试过,似乎并不生效。
X-Frame-Options响应头测试
直接使用浏览器的【开发者工具】即可检测,如下图
ok
mjj通道