安全漏洞系列(二)---站点信息侦测(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了