安全漏洞系列(二)---站点信息侦测(C# MVC)

参考地址:https://jingyan.baidu.com/article/77b8dc7fa657c26174eab631.html

概述:站点信息侦测漏洞会检测到用的版本信息等,然后借此进行一些攻击。

解决方案

一、隐藏MVC版本信息(节点:X-AspNetMvc-Version:)

  1.在Global.asax.cs文件中添加如下代码:

            //隐藏MVC版本信息(节点:X-AspNetMvc-Version:)
            MvcHandler.DisableMvcResponseHeader = true;

  再次运行,就不显示节点:X-AspNetMvc-Version了

二、隐藏asp.net 版本信息(节点:X-AspNet-Version)

  1.在配置文件中找到节点httpRuntime,添加属性enableVersionHeader="false"

    <httpRuntime targetFramework="4.5.2" enableVersionHeader="false"  />

  再次运行,就不显示节点X-AspNet-Version了

三、隐藏X-Powered-By节点

  1.配置文件中找到节点httpRuntime,添加如下代码:(如有就修改,没有就新增)

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>

  再次运行,就不显示节点X-AspNet-Version了

四、隐藏Server信息

  在在Global.asax.cs文件中添加如下代码:

 1         /// <summary>
 2         /// 隐藏/修改 Response Header 中的Server节点(IIS版本信息)
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
 7         {
 8             HttpApplication application = sender as HttpApplication;
 9             if (application != null && application.Context != null)
10             {
11                 //移除Server
12                 application.Context.Response.Headers.Remove("Server");
13                 //修改Server的显示信息
14                 //application.Context.Response.Headers.Set("Server", "MyServer");
15 
16                 //移除X-AspNet-Version,和上面效果相同
17                 //application.Context.Response.Headers.Remove("X-AspNet-Version");
18                 //移除X-AspNetMvc-Version,和上面效果相同
19                 //application.Context.Response.Headers.Remove("X-AspNetMvc-Version");
20             }
21 
22         }

  再次运行,就不显示节点Server了

原文地址:https://www.cnblogs.com/jas0203/p/11063219.html