类别:程序开发

日期:2023-07-10 浏览:2160 评论:1

(以下方法仅针对 IIS Asp.net)

 

服务器扫描发现漏洞,其中一个是:


 

可通过HTTP获取远端WWW服务信息 [Microsoft-IIS/8.5]

漏洞描述 本插件检测远端HTTP Server信息。这可能使得攻击者了解远程系统类型以便进行下一步的攻击。
解决方案 NSFOCUS建议您采取以下措施以降低威胁


 

打开网页,审查代码,我们发现这几个标头明显标明我们的服务器和平台信息,存在安全风险,必须要隐藏

 

解决方法:

新建一个类库项目 CustomHttpModules,添加一个自定义 HttpModule

namespace CustomHttpModules
{
    public class HeaderFilterHttpModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += OnPreSendRequestHeaders;
        }

        public void Dispose()
        { }

        void OnPreSendRequestHeaders(object sender, System.EventArgs e)
        {
            HttpContext.Current.Response.Headers.Remove("Server");
            HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
            HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
            HttpContext.Current.Response.Headers.Remove("X-Frame-Options");
        } 
    }
}

编译后,拷贝DLL到网站BIN目录,修改网站的 Web.config

<system.webServer>
    <modules>
      <add name="HeaderFilterModule" type="CustomHttpModules.HeaderFilterHttpModule,CustomHttpModules"/>
    </modules>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By"/>
      </customHeaders>
    </httpProtocol>
  </system.webServer>

再次运行网站,审查代码,几个标头全没了,搞定!

 

这种方法是最安全方便的,只要拷贝一个DLL和修改一处配置,不需要设置IIS(比如虚拟主机),也不需要修改和编译网站代码。

CustomHttpModules.rar

CustomHttpModules_4.0.rar


本文标题:改变您的HTTP服务器的缺省banner
本文链接:https://vtzw.com/post/1092.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

历史上的今天
07月
10

 可能感兴趣的文章

评论区

共有 1 条评论

user 访客 / 2023-09-06 11:43:03 / 回复
博主您好,附件提供的dll真是帮大忙了,本人不会编译这种东西,但是有个问题,4.0和CustomHttpModules,应该用哪个啊

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。

最新留言