• 改变您的HTTP服务器的缺省banner


    (以下方法仅针对 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(比如虚拟主机),也不需要修改和编译网站代码。

  • 相关阅读:
    AJax 源码思路
    C语言博客作业--字符数组
    C语言博客作业--一二维数组
    C语言博客作业--数据类型
    C语言博客作业--函数
    C语言博客作业--嵌套循环
    C语言第三次博客作业---单层循环结构
    C语言第二次博客作业---分支结构
    C语言第一次博客作业——输入输出格式
    C语言博客作业--数据类型
  • 原文地址:https://www.cnblogs.com/felixnet/p/6344613.html
Copyright © 2020-2023  润新知