WEB 应用漏洞修复(绿盟科技扫描)与 Http 转 Https 解决方案

本文针对绿盟科技扫描出的常见 WEB 应用漏洞做具体的修复,并包含了 Http 如何转 Https 的详细解决方案。

1 扫描路径为 docs、examples、host-manager、manager 之下的漏洞

修复方案:删除 docs、examples、host-manager、manager 文件夹(该方法可以修复扫描出来的大部分漏洞)

2 点击劫持:X-Frame-Options 未配置

修复方案:配置过滤器,在过滤器中配置 X-Frame-Options 为 SAMEORIGIN。

response.setHeader("x-frame-options", "SAMEORIGIN");

示例:

  • 新增过滤器类 ResponseFilter.java
public class ResponseFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, 
FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        //设置 x-frame-options
        response.setHeader("x-frame-options", "SAMEORIGIN");
        filterChain.doFilter(request, response);
    }

    @Override
    public void destroy() {

    }
}
  • web.xml 中新增过滤器配置:
<!-- 设置响应 X-Frame-Options 头 -->
<filter>
    <filter-name>ResponseFilter</filter-name>
    <filter-class>com.zpf.wisdom.common.filter.ResponseFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>ResponseFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

配置完之后,启动服务器,访问应用,打开浏览器控制台,在 Response Headers 下面有 x-frame-options:SAMEORIGIN 项即为配置成功,如下图:

x-frame-options 配置成功

3 检测到错误页面web应用服务器版本信息泄露

修复方案:删除 tomcat/lib/catalina.jar 中 \org\apache\catalina\util 目录下的 ServerInfo.properties 文件中的版本等信息,具体操作如下:

  • 进入到 tomcat/lib 目录下,用电脑自带解压软件打 catalina.jar 进入到 \org\apache\catalina\util 目录下
  • 编辑 ServerInfo.properties 文件,编辑最后三行,去掉版本号等信息(可直接注释或删除)
  • 改完后自动跳出提示,点击“是”自动更新 catalina.jar 重新打包。

4 可通过 HTTP 获取远端 WWW 服务信息

修复方案:在 server.xml 文件中的 Connector 元素上添加 server 属性。如:

<Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000" 
        redirectPort="8443"   
        URIEncoding="UTF-8" 
        useBodyEncodingForURI="true" 
        server="Microsoft-IIS/8.5" />

5 检测到基于 HTTP 的基本认证

修复方案:http 转 https。

5.1 安装(购买)证书

此处不做详细说明,请参考链接 https://blog.csdn.net/qq_16503045/article/details/90774917
(仅参考链接文章前面证书部分,后面 tomcat 配置部分有点缺失)

5.2 拷贝证书到 tomcat

我们已经获得了证书和证书密码,那么就将证书拷贝到 tomcat 的 conf 文件夹下。

5.3 配置使 https 可以访问应用

https 默认的端口是 443,它和 8443 端口的关系就如同 http 的 80 端口和 8080 端口一样。因此需要先在 server.xml 中配置该端口。

默认情况下,tomcat 的 8443 端口是注释掉的,那么去掉注释,打开端口 8443 的配置,将 port 属性值修改为 443,并添加证书配置项:

  • keystoreFile="cert/200613478180598.pfx"
  • keystoreType="PKCS12"
  • keystorePass="证书密码"

完整配置示例如下,以 tomcat 8.0 为例:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="/usr/local/dev/tomcat8/conf/2309789.pfx"
           keystoreType="PKCS12"
           keystorePass="GdyH4tiF"/>

注意:keystoreFilekeystorePass 两项需要修改。其中 keystoreFile 为证书路径,可以是绝对路径或相对路径,相对路径是相对于环境变量中 tomcat 配置的路径,上面示例中使用了绝对路径。keystorePass 则为证书密码。

配置完这些,就可以启动 tomcat ,使用 https 访问。此时,使用 http 和 https 都可以访问到应用。

5.4 配置使 http 自动转 https

如果想要输入 http 访问时自动转为 https,还需要做以下配置:

  • 修改 conf 文件夹下的 server.xml 中相应 redirectPort
    将所有的 redirectPort="8443" 修改为 redirectPort="443",如:

    <Connector URIEncoding="UTF-8" 
        connectionTimeout="20000" 
        port="8080" 
        protocol="HTTP/1.1" 
        redirectPort="443" 
        server="Microsoft-IIS/8.5"/>
    
    <Connector port="8009" protocol="AJP/1.3" redirectPort="443"/>
    
  • 在 conf 文件夹下的 web.xml 文件的 <web-app></web-app> 中增加代码段:

    <security-constraint>
        <web-resource-collection >
            <web-resource-name >SSL</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
    

配置完这两个文件,重启 tomcat,使用 http 访问应用,会发现成功跳转为 https 访问。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342