首页 > 其他分享 >【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险

【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险

时间:2023-06-07 20:00:59浏览次数:41  
标签:mainPageProps Java Tomcat Service App 默认 jsp

问题描述

在创建Azure App Service时,服务端的配置使用Java 8 + Tomcat 8.5。默认的根目录页面显示出App Service Tomcat版本信息,存在一定的安全隐患。

【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险_ajax

如何来避免这个问题呢?

 

问题解答

因为在初始创建App Service时,Azure会根据所选Stack, Web Server的信息默认生成首页内容。大多是情况下,在部署您的应用时,默认的首页内容会被替换掉。

App Service默认使用的首页名称如下(这些文件位于wwwroot目录下):

【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险_ajax_02

但对于Java Tomcat服务,默认的首页启动路径为 wwwroot/webapps/ROOT/index.jsp, 所以只需要修改 index.jsp中的内容或者删除这个文件就可以避免根路径 (“/”) 泄露服务信息。

 

修改步骤

1)登录App Service Kudu站点 ( 在左侧目录栏中选择 Advanced Tools –> Go 进入Kudu站点(https://<your app service name>.scm.chinacloudsites.cn/)), 选择 Debug Console 页面

2)  进入 HOME\SITE\WWWROOT\WEBAPPS\ROOT 目录

【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险_App_03

点击编辑 index.jsp 或者删除这个文件(文件删除后,访问App Service默认URL会返回404错误)

修改index.jsp文件:

如把内容修改为:This is Java Site...保存后,在浏览器中再次访问App Service

【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险_App_04

 

删除index.jsp文件

【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险_java_05

以上方式均可以避免在App Service的首页暴露 服务端Tomcat 信息!

 

默认生成的Index.jsp 内容

<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="utf-8">

            <meta name="viewport" content="width=device-width, initial-scale=1.0">

                <meta http-equiv="X-UA-Compatible" content="IE=edge">

                    <title>Microsoft Azure App Service - Welcome</title>

                    <link rel="SHORTCUT ICON" href="https://c.s-microsoft.com/favicon.ico?v2" type="image/x-icon"/>

                    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/4.1.1/css/bootstrap.min.css" crossorigin="anonymous">

                    <link rel="stylesheet" type="text/css" href="https://appservice.azureedge.net/css/linux-landing-page/v3/main.css">

                    <style>

                        #container {

                            position: relative;

                        }

                        #abc{

                            position: relative;

                            bottom: 0px;

                        }

                        .abc{

                            position: relative;

                            bottom: 0px;

                        }

                    </style>

                    <script type="text/javascript">

                        window.onload=function(){try{var a=window.location.hostname;if(a.includes(".azurewebsites.net")){a=a.replace(".azurewebsites.net", "")}var b=document.getElementById("depCenterLink");b.setAttribute("href", b.getAttribute("href") + "&sitename=" + a);}catch(d){}}

                    </script>

    </head>

    <body>

        <nav class="navbar navbar-light bg-light">

            <a class="navbar-brand " href="#">

                <div class="container pl-4 ml-5">

                    <img src="https://appservice.azureedge.net/images/linux-landing-page/v3/microsoft_azure_logo.png" width="270" height="108" alt=""> </div>

            </a>

        </nav>

        <div class="container-fluid container-height mr-2">

            <div class="pt-10 pb-10 mt-10 mb-10 d-xxs-none d-xs-none d-sm-none d-md-none d-lg-block d-xl-block" style="height:20px; width:100%; clear:both;"></div>

            <div class="row">

                <div class="row col-xs-12 col-sm-12 d-block d-lg-none d-xl-none d-md-block d-sm-block d-xs-block">

                    <div class="text-center">

                        <img src="https://appservice.azureedge.net/images/linux-landing-page/v3/java.svg"> </div>

                </div>

                <div class=" extra-pl-small-scr offset-xl-1 offset-lg-1 offset-md-2 offset-sm-2 offset-xs-4 col-xl-5 col-lg-5 col-md-10 col-sm-11 col-xs-11 div-vertical-center">

                    <div class="container-fluid">

                        <div class="row">

                            <h2>Hey, Java developers!</h2>

                        </div>

                        <br>

                        <div class="row">

                            <h4>Your app service is up and running.</h4>

                        </div>

                        <div class="row">

                            <h4>Time to take the next step and deploy your code.</h4>

                        </div>

                        <div class="row info-mg-top">

                            <p class=" pl-0 col-md-6 col-sm-12 info-mg-top">

                                Have your code ready?<br>

                                    Use deployment center to get code published from your client or setup continuous deployment.<br>

                                        <a id='depCenterLink' href="https://go.microsoft.com/fwlink/?linkid=2057852">

                                            <button class="btn btn-primary btn-mg-top" type="submit">Deployment Center</button>

                                        </a>

                            </p>

                            <p class="pl-0 offset-md-1 col-md-5 col-sm-12 info-mg-top">

                                Don't have your code yet?<br>

                                    Follow our quickstart guide and you'll have a full app ready in 5 minutes or less.<br>

                                        <button onclick="location.href='http://aka.ms/java-quickstart-windows'" class="btn btn-primary btn-mg-top" type="submit">Quickstart</button>

                            </p>

                        </div>

                    </div>

                </div>

                <div class="col-xl-5 col-lg-5 col-md-12 d-none d-lg-block">

                    <div class="text-center">

                        <img src="https://appservice.azureedge.net/images/linux-landing-page/v3/java.svg">

                    </div>

                </div>

                <div class="col-xl-1 col-lg-1 col-md-1"></div>

            </div>

            <div class="row">

                <div class=" extra-pl-small-scr offset-xl-1 offset-lg-1 offset-md-2 offset-sm-2 offset-xs-4 col-xl-5 col-lg-5 col-md-10 col-sm-11 col-xs-11 iv-vertical-center">

                    <div class="container-fluid">

                        <div class="row">

                            <b>Technical Information</b>

                        </div>

                        <div class="row">

                            <%@ page import="java.util.*" %>

                            <%

                                ArrayList<String> mainPageProps = new ArrayList<String>();

                                mainPageProps.add("catalina.base");

                                mainPageProps.add("jetty.base");

                                mainPageProps.add("java.version");

                                mainPageProps.add("java.home");

                                for(String name : mainPageProps)

                                {

                                    String value = System.getProperty(name);

                                    if(value != null)

                                    {

                                        out.print(name + ": " + value + "<br>");

                                    }

                                }

                            %>

                        </div>

                    </div>

                </div>

                <div class="col-xl-5 col-lg-5 col-md-12 d-none d-lg-block"></div>

                <div class="col-xl-1 col-lg-1 col-md-1"></div>

            </div>

        </div>

 

        <!-- Bootstrap core JavaScript==================================================-->

        <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.2.1.min.js" crossorigin="anonymous"></script>

        <script src="https://ajax.aspnetcdn.com/ajax/bootstrap/4.1.1/bootstrap.min.js" crossorigin="anonymous"></script>

    </body>

</html>Java Index Page


标签:mainPageProps,Java,Tomcat,Service,App,默认,jsp
From: https://blog.51cto.com/u_13773780/6434653

相关文章

  • Appium模拟登录微信
    fromappiumimportwebdriverfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.common.byimportByfromselenium.webdriver.supportimportexpected_conditionsasECserver='http://localhost:4723/wd/hub'desired_c......
  • 第3天学习Docker-Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)
    前提须知:(1)搜索镜像命令格式:dockersearch镜像名(2)设置Docker镜像加速器详见文章:Docker设置ustc的镜像源(镜像加速器)1、部署MySQL拉取镜像(这里拉取mysql5.7版本)[root@localhost~]#dockerpullmysql:5.7创建容器(默认运行)[root@localhost~]#dockerrun-di--name=my_mysql-p330......
  • [转]解决WebService 测试窗体只能用于来自本地计算机的请求
    [转自]原文地址:https://www.cnblogs.com/JuneZhang/archive/2013/01/24/net.html问题:WebService部署成站点之后,如果在本地测试webservice可以运行,在远程却显示“测试窗体只能用于来自本地计算机的请求”或者"Thetestformisonlyavailableforrequestsfromthelocalma......
  • flutter 的 in_app_web_view实现下载功能
    flutter与前端交互,利用in_app_web_view实现下载功能:首先下载库,终端输入flutterpubaddflutter_inappwebview之后导出import'package:flutter_inappwebview/flutter_inappwebview.dart';即可使用。创建in_app_web_view:InAppWebView(initialOptions:InA......
  • uniapp render.js
    1、操作数据<template><viewclass="content"><view@click="renderScript.emitData">获取renderjs数据</view>{{name}}</view></template><script>exportdefault{data(){......
  • app默认开机自启动/不自启动
    需求:将应用添加到应用白名单,应用开机后将会在后台自启动,黑名单则相反修改内容:将对应apk包名添加到黑/白名单array数组当中修改文档:vendor/mediatek/proprietary/packages/apps/DuraSpeed/res/values/config.xml 其它内部逻辑代码:vendor/mediatek/proprietary/packages/apps......
  • 顶象发布《车企App安全研究白皮书》,剖析品牌汽车App的两大类风险
    近日,顶象发布《车企App安全研究白皮书》。该白皮书总结了当前车企App主要面临的技术威胁和合规风险,详细分析了风险产生的原因,并提出相应安全解决方案。车企App成汽车品牌首选自有App成为各品牌汽车的标配,也成为车企必争的新战场。车企App不仅能够实现远程开启空调、门锁、启动......
  • 直播app开发搭建,web前端JS中的继承方式
    直播app开发搭建,web前端JS中的继承方式ES5//ES5中的写法一   functionPhone(color){    this.color=color;    this.show=function(){      console.log("你喜欢看的颜色是:"+this.color);    }  }  functionVivo(color......
  • app直播源码,HTML的导航栏的代码
    app直播源码,HTML的导航栏的代码<!DOCTYPEhtml><html><head>  <metacharset="UTF-8">  <title>导航栏</title>  <style>    .box{      height:40px;      border-top:3pxsolidred;      border-bot......
  • uniapp离线打包总结
    uniapp离线打包总结一、准备好AndroidStudio的项目外壳,这里采用的是https://nativesupport.dcloud.net.cn/AppDocs/download/android.html#下载后选用HBbuilder-Integrate-AS作为外壳,如下图所示二、Android模块配置按项目所用到的模块进行配置,详情参考官网https://nativesu......