From 0d8decfe6690de0a253a91fd5eb83ffb3ce09394 Mon Sep 17 00:00:00 2001
From: Panda
Date: Thu, 6 Feb 2020 14:34:20 +0800
Subject: [PATCH 01/13] =?UTF-8?q?=E3=80=9004=E3=80=91SSRF=20=E6=BC=8F?=
=?UTF-8?q?=E6=B4=9E=E5=8E=9F=E7=90=86=E4=B8=8E=E5=AE=9E=E9=99=85=E6=A1=88?=
=?UTF-8?q?=E4=BE=8B=E4=BB=8B=E7=BB=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
【04】SSRF 漏洞原理与实际案例介绍
---
.../.circleci/circle-v1.yml" | 40 +
.../hawtio-hawtio-2.5.0/.circleci/config.yml" | 22 +
.../hawtio-hawtio-2.5.0/.editorconfig" | 11 +
.../hawtio-hawtio-2.5.0/.gitignore" | 24 +
.../hawtio-hawtio-2.5.0/BUILDING.md" | 272 +
.../hawtio-hawtio-2.5.0/CHANGES.md" | 93 +
.../hawtio-hawtio-2.5.0/CONTRIBUTING.md" | 62 +
.../hawtio-hawtio-2.5.0/DEVELOPERS.md" | 189 +
.../hawtio-hawtio-2.5.0/FAQ.md" | 222 +
.../hawtio-hawtio-2.5.0/LICENSE.txt" | 202 +
.../hawtio-hawtio-2.5.0/README.md" | 33 +
.../hawtio-hawtio-2.5.0/bin/release" | 47 +
.../hawtio-hawtio-2.5.0/bom/pom.xml" | 111 +
.../examples/keycloak-integration/README.md" | 171 +
.../keycloak-bearer.json" | 9 +
.../keycloak-direct-access.json" | 9 +
.../keycloak-hawtio.json" | 5 +
.../examples/keycloak-integration/login.conf" | 4 +
.../keycloak-integration/run-hawtio.sh" | 27 +
.../springboot-1-authentication/README.md" | 11 +
.../springboot-1-authentication/pom.xml" | 103 +
.../example/spring/boot/HelloController.java" | 16 +
.../spring/boot/PropertyFileLoginModule.java" | 108 +
...ampleAuthenticationSpringBootService.java" | 71 +
.../main/resources/application.properties" | 10 +
.../src/main/resources/banner.txt" | 9 +
.../src/main/resources/jolokia-access.xml" | 114 +
.../src/main/resources/login.conf" | 3 +
.../src/main/resources/realm.properties" | 7 +
.../sample-plugin/html/sample-plugin.html" | 8 +
.../app/sample-plugin/js/sample-plugin.js" | 41 +
.../examples/springboot-1/README.md" | 32 +
.../examples/springboot-1/pom.xml" | 127 +
.../example/spring/boot/HelloController.java" | 16 +
.../spring/boot/SampleCamelRouter.java" | 17 +
.../spring/boot/SampleSpringBootService.java" | 41 +
.../main/resources/application.properties" | 15 +
.../src/main/resources/banner.txt" | 8 +
.../sample-plugin/html/sample-plugin.html" | 8 +
.../app/sample-plugin/js/sample-plugin.js" | 41 +
.../springboot-authentication/README.md" | 11 +
.../springboot-authentication/pom.xml" | 103 +
.../example/spring/boot/HelloController.java" | 16 +
.../spring/boot/PropertyFileLoginModule.java" | 108 +
...ampleAuthenticationSpringBootService.java" | 71 +
.../main/resources/application.properties" | 9 +
.../src/main/resources/banner.txt" | 9 +
.../src/main/resources/jolokia-access.xml" | 114 +
.../src/main/resources/login.conf" | 3 +
.../src/main/resources/realm.properties" | 7 +
.../sample-plugin/html/sample-plugin.html" | 8 +
.../app/sample-plugin/js/sample-plugin.js" | 41 +
.../examples/springboot/README.md" | 50 +
.../examples/springboot/jmx-exporter.yml" | 6 +
.../examples/springboot/pom.xml" | 157 +
.../example/spring/boot/HelloController.java" | 16 +
.../spring/boot/SampleCamelRouter.java" | 17 +
.../spring/boot/SampleSpringBootService.java" | 34 +
.../main/resources/application.properties" | 12 +
.../springboot/src/main/resources/banner.txt" | 8 +
.../sample-plugin/html/sample-plugin.html" | 8 +
.../app/sample-plugin/js/sample-plugin.js" | 41 +
.../hawtio-hawtio-2.5.0/freenode.txt" | 2 +
.../hawtio-hawtio-2.5.0/hawtio-app/README.md" | 21 +
.../hawtio-hawtio-2.5.0/hawtio-app/pom.xml" | 71 +
.../src/main/assembly/assembly.xml" | 52 +
.../src/main/java/io/hawt/app/App.java" | 160 +
.../hawtio-base/.gitignore" | 4 +
.../hawtio-hawtio-2.5.0/hawtio-base/pom.xml" | 133 +
.../HawtioBlueprintContextListener.java" | 145 +
.../src/main/resources/blueprint.properties" | 5 +
.../src/main/resources/log4j.properties" | 14 +
.../src/main/webapp/WEB-INF/web.xml" | 301 ++
.../hawtio-console-assembly/.editorconfig" | 8 +
.../hawtio-console-assembly/.gitignore" | 6 +
.../hawtio-console-assembly/README.md" | 42 +
.../hawtio-console-assembly/app/package.json" | 29 +
.../hawtio-console-assembly/app/src/app.less" | 3 +
.../hawtio-console-assembly/app/src/app.ts" | 39 +
.../app/src/hawtconfig.json" | 15 +
.../app/src/head-partial.html" | 133 +
.../app/src/img/favicon.ico" | Bin 0 -> 1150 bytes
.../app/src/index.html" | 10 +
.../app/src/login.html" | 10 +
.../app/src/login/keycloak-login.ts" | 68 +
.../app/src/login/login.component.html" | 42 +
.../app/src/login/login.component.ts" | 52 +
.../app/src/login/login.config.ts" | 56 +
.../app/src/login/login.less" | 12 +
.../app/src/login/login.module.ts" | 14 +
.../hawtio-console-assembly/app/yarn.lock" | 746 +++
.../hawtio-console-assembly/gulpfile.js" | 294 +
.../hawtio-console-assembly/package.json" | 51 +
.../hawtio-console-assembly/pom.xml" | 107 +
.../hawtio-console-assembly/tsconfig.json" | 15 +
.../tslint-rules/licenseHeaderRule.js" | 28 +
.../hawtio-console-assembly/tslint.json" | 48 +
.../hawtio-console-assembly/yarn.lock" | 4811 +++++++++++++++++
.../hawtio-hawtio-2.5.0/hawtio-core/pom.xml" | 45 +
.../java/io/hawt/config/ConfigFacade.java" | 108 +
.../io/hawt/config/ConfigFacadeMBean.java" | 16 +
.../main/java/io/hawt/config/URLHandler.java" | 31 +
.../OSGI-INF/blueprint/blueprint.xml" | 17 +
.../io/hawt/config/ConfigFacadeTest.java" | 47 +
.../src/test/resources/log4j.properties" | 18 +
.../hawtio-default/.gitignore" | 4 +
.../hawtio-default/pom.xml" | 173 +
.../OSGI-INF/blueprint/blueprint.xml" | 15 +
.../src/main/resources/blueprint.properties" | 5 +
.../src/main/resources/log4j.properties" | 14 +
.../src/main/webapp/.gitignore" | 0
.../hawtio-embedded/.gitignore" | 1 +
.../hawtio-embedded/pom.xml" | 98 +
.../src/main/java/io/hawt/embedded/Main.java" | 324 ++
.../main/java/io/hawt/embedded/Options.java" | 351 ++
.../test/java/io/hawt/embedded/MainTest.java" | 27 +
.../src/test/resources/log4j.properties" | 16 +
.../hawtio-hawtio-2.5.0/hawtio-ide/pom.xml" | 45 +
.../src/main/java/io/hawt/ide/IdeFacade.java" | 187 +
.../java/io/hawt/ide/IdeFacadeMBean.java" | 25 +
.../OSGI-INF/blueprint/blueprint.xml" | 18 +
.../test/java/io/hawt/ide/IdeFacadeTest.java" | 47 +
.../src/test/resources/log4j.properties" | 18 +
.../hawtio-local-jvm-mbean/pom.xml" | 87 +
.../main/java/io/hawt/jvm/local/JVMList.java" | 287 +
.../java/io/hawt/jvm/local/JVMListMBean.java" | 17 +
.../io/hawt/jvm/local/VMDescriptorDTO.java" | 85 +
.../java/io/hawt/jvm/local/JVMListTest.java" | 110 +
.../src/test/resources/log4j.properties" | 14 +
.../hawtio-log-osgi/pom.xml" | 88 +
.../java/io/hawt/log/osgi/Activator.java" | 35 +
.../main/java/io/hawt/log/osgi/LogQuery.java" | 87 +
.../io/hawt/log/osgi/LogQueryCallback.java" | 7 +
.../java/io/hawt/log/osgi/LogQueryMBean.java" | 11 +
.../src/main/java/io/hawt/log/osgi/Logs.java" | 159 +
.../io/hawt/log/osgi/MavenCoordinates.java" | 110 +
.../hawtio-hawtio-2.5.0/hawtio-log/pom.xml" | 81 +
.../src/main/java/io/hawt/log/LogEvent.java" | 226 +
.../src/main/java/io/hawt/log/LogFilter.java" | 76 +
.../main/java/io/hawt/log/LogResults.java" | 55 +
.../io/hawt/log/log4j/Log4jLogQuery.java" | 398 ++
.../hawt/log/log4j/Log4jLogQueryMBean.java" | 19 +
.../io/hawt/log/log4j/MavenCoordHelper.java" | 116 +
.../hawt/log/log4j/ThrowableFormatter.java" | 155 +
.../java/io/hawt/log/rest/LogRequest.java" | 114 +
.../java/io/hawt/log/rest/LogResponse.java" | 25 +
.../io/hawt/log/rest/LogResponseHit.java" | 24 +
.../io/hawt/log/rest/LogResponseHits.java" | 27 +
.../io/hawt/log/support/LogQuerySupport.java" | 314 ++
.../log/support/LogQuerySupportMBean.java" | 83 +
.../java/io/hawt/log/support/LruList.java" | 87 +
.../hawt/log/support/MavenCoordinates.java" | 56 +
.../java/io/hawt/log/support/Objects.java" | 56 +
.../java/io/hawt/log/support/Predicate.java" | 10 +
.../io/hawt/log/log4j/Log4jLogQueryTest.java" | 27 +
.../src/test/resources/log4j.properties" | 16 +
.../hawtio-system/pom.xml" | 117 +
.../java/io/hawt/HawtioContextListener.java" | 82 +
.../src/main/java/io/hawt/jmx/About.java" | 135 +
.../main/java/io/hawt/jmx/AboutMBean.java" | 7 +
.../src/main/java/io/hawt/jmx/FileDTO.java" | 43 +
.../main/java/io/hawt/jmx/JMXSecurity.java" | 63 +
.../java/io/hawt/jmx/JMXSecurityMBean.java" | 134 +
.../java/io/hawt/jmx/JmxTreeWatcher.java" | 114 +
.../io/hawt/jmx/JmxTreeWatcherMBean.java" | 7 +
.../java/io/hawt/jmx/PluginRegistry.java" | 75 +
.../io/hawt/jmx/PluginRegistryMBean.java" | 8 +
.../main/java/io/hawt/jmx/QuartzFacade.java" | 172 +
.../java/io/hawt/jmx/QuartzFacadeMBean.java" | 25 +
.../main/java/io/hawt/jmx/RBACRegistry.java" | 318 ++
.../java/io/hawt/jmx/RBACRegistryMBean.java" | 42 +
.../java/io/hawt/osgi/OsgiMBeanDetector.java" | 60 +
.../java/io/hawt/system/AuthHelpers.java" | 56 +
.../main/java/io/hawt/system/AuthInfo.java" | 17 +
.../io/hawt/system/AuthenticateResult.java" | 10 +
.../java/io/hawt/system/Authenticator.java" | 321 ++
.../java/io/hawt/system/ConfigManager.java" | 105 +
.../java/io/hawt/system/HawtioProperty.java" | 23 +
.../main/java/io/hawt/system/JmxHelpers.java" | 26 +
.../java/io/hawt/system/ProxyWhitelist.java" | 170 +
.../io/hawt/system/RBACMBeanInvoker.java" | 274 +
.../java/io/hawt/system/RBACRestrictor.java" | 129 +
.../java/io/hawt/web/ForbiddenReason.java" | 6 +
.../java/io/hawt/web/ServletHelpers.java" | 209 +
.../auth/AuthenticationConfiguration.java" | 217 +
.../AuthenticationContainerDiscovery.java" | 23 +
.../hawt/web/auth/AuthenticationFilter.java" | 115 +
.../hawt/web/auth/LoginRedirectFilter.java" | 69 +
.../java/io/hawt/web/auth/LoginServlet.java" | 176 +
.../java/io/hawt/web/auth/LogoutServlet.java" | 52 +
.../java/io/hawt/web/auth/Redirector.java" | 36 +
.../io/hawt/web/auth/RelativeRequestUri.java" | 148 +
.../hawt/web/auth/SessionExpiryFilter.java" | 171 +
.../java/io/hawt/web/auth/UserServlet.java" | 72 +
.../web/auth/keycloak/KeycloakServlet.java" | 182 +
.../auth/keycloak/KeycloakUserServlet.java" | 54 +
.../hawt/web/filters/BaseTagHrefFilter.java" | 137 +
.../java/io/hawt/web/filters/CORSFilter.java" | 29 +
.../hawt/web/filters/CacheHeadersFilter.java" | 89 +
.../filters/ContentSecurityPolicyFilter.java" | 70 +
.../hawt/web/filters/HttpHeaderFilter.java" | 46 +
.../web/filters/PublicKeyPinningFilter.java" | 39 +
.../StrictTransportSecurityFilter.java" | 39 +
.../filters/XContentTypeOptionsFilter.java" | 15 +
.../web/filters/XFrameOptionsFilter.java" | 15 +
.../web/filters/XXSSProtectionFilter.java" | 15 +
.../web/kubernetes/DefaultProxyAddress.java" | 57 +
.../OpenShiftProtocolSocketFactory.java" | 37 +
.../io/hawt/web/kubernetes/PodServlet.java" | 90 +
.../hawt/web/kubernetes/ServiceResolver.java" | 80 +
.../hawt/web/kubernetes/ServiceServlet.java" | 77 +
.../java/io/hawt/web/proxy/ProxyAddress.java" | 30 +
.../java/io/hawt/web/proxy/ProxyDetails.java" | 266 +
.../java/io/hawt/web/proxy/ProxyServlet.java" | 527 ++
.../JolokiaConfiguredAgentServlet.java" | 133 +
.../servlets/SpringBatchConfigServlet.java" | 120 +
...mcatAuthenticationContainerDiscovery.java" | 72 +
.../TomcatLoginContextConfiguration.java" | 34 +
.../io/hawt/web/tomcat/TomcatPrincipal.java" | 21 +
.../TomcatUserDatabaseLoginContext.java" | 232 +
.../src/main/resources/META-INF/detectors" | 1 +
.../java/io/hawt/jmx/JmxTreeWatcherTest.java" | 41 +
.../java/io/hawt/jmx/RBACRegistryTest.java" | 40 +
.../io/hawt/system/ConfigManagerTest.java" | 168 +
.../io/hawt/system/RBACRestrictorTest.java" | 137 +
.../io/hawt/web/RelativeRequestUriTest.java" | 93 +
.../java/io/hawt/web/ServletHelpersTest.java" | 26 +
.../web/auth/LoginRedirectFilterTest.java" | 47 +
.../io/hawt/web/auth/RedirectorTest.java" | 55 +
.../web/filters/BaseTagHrefFilterTest.java" | 113 +
.../ContentSecurityPolicyFilterTest.java" | 85 +
.../io/hawt/web/proxy/ProxyDetailsTest.java" | 283 +
.../resources/io/hawt/web/filters/index.html" | 11 +
.../resources/keycloak-hawtio-client.json" | 5 +
.../src/test/resources/log4j.properties" | 19 +
.../hawtio-hawtio-2.5.0/hawtio-util/pom.xml" | 36 +
.../main/java/io/hawt/util/Closeables.java" | 20 +
.../main/java/io/hawt/util/FileFilters.java" | 101 +
.../main/java/io/hawt/util/FileLocker.java" | 45 +
.../src/main/java/io/hawt/util/Files.java" | 186 +
.../src/main/java/io/hawt/util/Function.java" | 11 +
.../src/main/java/io/hawt/util/Hosts.java" | 174 +
.../src/main/java/io/hawt/util/IOHelper.java" | 149 +
.../main/java/io/hawt/util/MBeanSupport.java" | 80 +
.../src/main/java/io/hawt/util/Objects.java" | 120 +
.../main/java/io/hawt/util/Predicate.java" | 25 +
.../java/io/hawt/util/ReflectionHelper.java" | 92 +
.../src/main/java/io/hawt/util/Strings.java" | 135 +
.../main/java/io/hawt/util/XmlHelper.java" | 53 +
.../io/hawt/util/XmlNamespaceFinder.java" | 83 +
.../src/main/java/io/hawt/util/Zips.java" | 137 +
.../util/introspect/ClassLoaderProvider.java" | 29 +
.../introspect/ClassLoaderProviders.java" | 75 +
.../util/introspect/support/CacheValue.java" | 35 +
.../introspect/support/ClassResource.java" | 40 +
.../introspect/support/ClassScanner.java" | 560 ++
.../util/introspect/support/Packages.java" | 112 +
.../test/java/io/hawt/util/HostsTest.java" | 51 +
.../test/java/io/hawt/util/StringsTest.java" | 165 +
.../src/test/resources/log4j.properties" | 18 +
.../hawtio-hawtio-2.5.0/hawtio-war/README.md" | 17 +
.../hawtio-war/etc/login.conf" | 4 +
.../hawtio-war/etc/security.cli" | 13 +
.../hawtio-war/etc/users.properties" | 1 +
.../hawtio-hawtio-2.5.0/hawtio-war/pom.xml" | 255 +
.../HawtioBlueprintContextListener.java" | 145 +
.../src/main/resources/blueprint.properties" | 5 +
.../src/main/resources/log4j.properties" | 7 +
.../src/main/webapp/WEB-INF/web.xml" | 304 ++
.../hawtio-hawtio-2.5.0/hawtio.properties" | 65 +
.../platforms/hawtio-osgi-jmx/pom.xml" | 115 +
.../java/io/hawt/osgi/jmx/Activator.java" | 31 +
.../java/io/hawt/osgi/jmx/ConfigAdmin.java" | 59 +
.../io/hawt/osgi/jmx/ConfigAdminMXBean.java" | 12 +
.../java/io/hawt/osgi/jmx/OSGiTools.java" | 69 +
.../io/hawt/osgi/jmx/OSGiToolsMXBean.java" | 22 +
.../java/io/hawt/osgi/jmx/RBACDecorator.java" | 611 +++
.../io/hawt/osgi/jmx/RBACDecoratorMBean.java" | 55 +
.../io/hawt/osgi/jmx/ConfigAdminTest.java" | 42 +
.../java/io/hawt/osgi/jmx/OSGiToolsTest.java" | 90 +
.../io/hawt/osgi/jmx/RBACDecoratorTest.java" | 215 +
.../osgi/jmx/RBACDecoratorTest-input.json" | 286 +
.../src/test/resources/log4j.properties" | 7 +
.../platforms/karaf/pom.xml" | 110 +
.../karaf/src/main/resources/features.xml" | 38 +
.../platforms/springboot-1/pom.xml" | 153 +
.../io/hawt/springboot/AbstractMvcIT.java" | 93 +
.../springboot/DefaultSettingsMvcIT.java" | 29 +
.../HawtioAuthenticationIsDisabledMvcIT.java" | 500 ++
.../springboot/HawtioConfigurationIT.java" | 98 +
.../java/io/hawt/springboot/HawtPlugin.java" | 56 +
.../springboot/HawtioAutoConfiguration.java" | 60 +
.../hawt/springboot/HawtioConfiguration.java" | 349 ++
.../io/hawt/springboot/HawtioEndpoint.java" | 83 +
.../io/hawt/springboot/HawtioProperties.java" | 20 +
.../io/hawt/springboot/PluginService.java" | 22 +
.../SpringHawtioContextListener.java" | 27 +
.../main/resources/META-INF/spring.factories" | 5 +
.../hawt/springboot/application.properties" | 3 +
.../hawt/springboot/HawtioEndpointTest.java" | 44 +
.../SpringHawtioContextListenerTest.java" | 30 +
.../platforms/springboot/pom.xml" | 115 +
...wtioSpringBootCustomManagementPortIT.java" | 124 +
.../HawtioSpringBootEndpointIT.java" | 400 ++
.../HawtioSpringBootExposedEndpointIT.java" | 48 +
.../HawtioSpringBootTestCommon.java" | 80 +
.../HawtioSpringBootTestSupport.java" | 279 +
.../resources/logback-test.xml" | 7 +
.../ConditionalOnExposedEndpoint.java" | 15 +
.../springboot/EndpointPathResolver.java" | 67 +
.../io/hawt/springboot/ExposedEndpoint.java" | 34 +
.../java/io/hawt/springboot/HawtPlugin.java" | 56 +
.../io/hawt/springboot/HawtioEndpoint.java" | 78 +
.../HawtioEndpointAutoConfiguration.java" | 67 +
.../HawtioManagementConfiguration.java" | 310 ++
.../io/hawt/springboot/HawtioProperties.java" | 20 +
.../SpringHawtioContextListener.java" | 27 +
.../main/resources/META-INF/spring.factories" | 5 +
.../hawt/springboot/application.properties" | 3 +
.../hawt/springboot/HawtioEndpointTest.java" | 44 +
.../SpringHawtioContextListenerTest.java" | 30 +
.../platforms/wildfly/.gitignore" | 4 +
.../platforms/wildfly/compatibility.md" | 8 +
.../platforms/wildfly/configuration.md" | 23 +
.../platforms/wildfly/pom.xml" | 78 +
.../src/main/webapp/META-INF/beans.xml" | 10 +
.../src/main/webapp/WEB-INF/jboss-web.xml" | 4 +
.../wildfly/src/main/webapp/WEB-INF/web.xml" | 271 +
.../hawtio-hawtio-2.5.0/pom.xml" | 337 ++
.../tooling/hawtio-junit/pom.xml" | 43 +
.../io/hawt/junit/DefaultJUnitService.java" | 200 +
.../main/java/io/hawt/junit/FailureDTO.java" | 98 +
.../java/io/hawt/junit/InProgressDTO.java" | 75 +
.../io/hawt/junit/InProgressRunListener.java" | 68 +
.../main/java/io/hawt/junit/JUnitFacade.java" | 88 +
.../java/io/hawt/junit/JUnitFacadeMBean.java" | 15 +
.../java/io/hawt/junit/JUnitService.java" | 19 +
.../main/java/io/hawt/junit/ResultDTO.java" | 110 +
.../java/io/hawt/junit/StackTraceDTO.java" | 88 +
.../java/io/hawt/junit/ThrowableDTO.java" | 91 +
.../OSGI-INF/blueprint/blueprint.xml" | 21 +
.../src/test/resources/log4j.properties" | 18 +
.../tooling/hawtio-maven-plugin/pom.xml" | 99 +
.../main/java/io/hawt/maven/BaseMojo.java" | 355 ++
.../main/java/io/hawt/maven/BaseRunMojo.java" | 220 +
.../io/hawt/maven/CamelBlueprintMojo.java" | 133 +
.../java/io/hawt/maven/CamelCdiMojo.java" | 101 +
.../main/java/io/hawt/maven/CamelMojo.java" | 100 +
.../io/hawt/maven/DefaultMojoLifecycle.java" | 116 +
.../java/io/hawt/maven/MojoLifecycle.java" | 8 +
.../src/main/java/io/hawt/maven/RunMojo.java" | 20 +
.../java/io/hawt/maven/SpringBootMojo.java" | 86 +
.../main/java/io/hawt/maven/SpringMojo.java" | 81 +
.../main/java/io/hawt/maven/TestMojo.java" | 97 +
.../java/io/hawt/maven/main/SpringMain.java" | 269 +
.../hawt/maven/util/IsolatedThreadGroup.java" | 36 +
.../OSGI-INF/blueprint/blueprint.xml" | 9 +
.../img/1.png" | Bin 0 -> 108777 bytes
.../img/10.png" | Bin 0 -> 41322 bytes
.../img/11.png" | Bin 0 -> 120717 bytes
.../img/12.png" | Bin 0 -> 1528540 bytes
.../img/13.png" | Bin 0 -> 209833 bytes
.../img/14.png" | Bin 0 -> 153293 bytes
.../img/2.png" | Bin 0 -> 152760 bytes
.../img/3.png" | Bin 0 -> 247343 bytes
.../img/4.png" | Bin 0 -> 71392 bytes
.../img/5.png" | Bin 0 -> 970066 bytes
.../img/6.png" | Bin 0 -> 120929 bytes
.../img/7.png" | Bin 0 -> 1948165 bytes
.../img/8.png" | Bin 0 -> 593831 bytes
.../img/9.png" | Bin 0 -> 842726 bytes
.../ssrf/.DS_Store" | Bin 0 -> 6148 bytes
.../ssrf/.classpath" | 24 +
.../ssrf/.project" | 36 +
.../ssrf/.settings/.jsdtscope" | 12 +
.../.settings/org.eclipse.jdt.core.prefs" | 7 +
.../org.eclipse.wst.common.component" | 8 +
...eclipse.wst.common.project.facet.core.xml" | 11 +
...g.eclipse.wst.jsdt.ui.superType.container" | 1 +
.../org.eclipse.wst.jsdt.ui.superType.name" | 1 +
.../ssrf/WebRoot/META-INF/MANIFEST.MF" | 3 +
.../ssrf/WebRoot/WEB-INF/web.xml" | 42 +
.../ssrf/WebRoot/index.jsp" | 26 +
.../ssrf/src/.DS_Store" | Bin 0 -> 6148 bytes
.../ssrf/src/com/.DS_Store" | Bin 0 -> 6148 bytes
.../src/com/sec/servlet/ssrfFileDown.java" | 50 +
.../src/com/sec/servlet/ssrfFileRead.java" | 54 +
.../ssrf/src/com/sec/servlet/ssrfTest.java" | 54 +
...10\344\276\213\344\273\213\347\273\215.md" | 390 ++
389 files changed, 35533 insertions(+)
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/circle-v1.yml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/config.yml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.editorconfig"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/BUILDING.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CHANGES.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CONTRIBUTING.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/DEVELOPERS.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/FAQ.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/LICENSE.txt"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bin/release"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bom/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-bearer.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-direct-access.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-hawtio.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/login.conf"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/run-hawtio.sh"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/HelloController.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/PropertyFileLoginModule.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/SampleAuthenticationSpringBootService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/application.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/banner.txt"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/jolokia-access.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/login.conf"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/realm.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/HelloController.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/application.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/banner.txt"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/java/io/hawt/example/spring/boot/HelloController.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/java/io/hawt/example/spring/boot/PropertyFileLoginModule.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/java/io/hawt/example/spring/boot/SampleAuthenticationSpringBootService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/resources/application.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/resources/banner.txt"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/resources/jolokia-access.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/resources/login.conf"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/resources/realm.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/jmx-exporter.yml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/HelloController.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/application.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/banner.txt"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/freenode.txt"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/assembly/assembly.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/java/io/hawt/app/App.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/java/io/hawt/blueprint/HawtioBlueprintContextListener.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/resources/blueprint.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/webapp/WEB-INF/web.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/.editorconfig"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/package.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/app.less"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/app.ts"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/hawtconfig.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/head-partial.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/img/favicon.ico"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/index.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login/keycloak-login.ts"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login/login.component.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login/login.component.ts"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login/login.config.ts"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login/login.less"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/src/login/login.module.ts"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/app/yarn.lock"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/gulpfile.js"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/package.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/tsconfig.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/tslint-rules/licenseHeaderRule.js"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/tslint.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-console-assembly/yarn.lock"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/src/main/java/io/hawt/config/ConfigFacade.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/src/main/java/io/hawt/config/ConfigFacadeMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/src/main/java/io/hawt/config/URLHandler.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/src/test/java/io/hawt/config/ConfigFacadeTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-core/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-default/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-default/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-default/src/main/resources/OSGI-INF/blueprint/blueprint.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-default/src/main/resources/blueprint.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-default/src/main/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-default/src/main/webapp/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-embedded/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-embedded/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-embedded/src/main/java/io/hawt/embedded/Main.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-embedded/src/main/java/io/hawt/embedded/Options.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-embedded/src/test/java/io/hawt/embedded/MainTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-embedded/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-ide/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-ide/src/main/java/io/hawt/ide/IdeFacade.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-ide/src/main/java/io/hawt/ide/IdeFacadeMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-ide/src/main/resources/OSGI-INF/blueprint/blueprint.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-ide/src/test/java/io/hawt/ide/IdeFacadeTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-ide/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-local-jvm-mbean/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-local-jvm-mbean/src/main/java/io/hawt/jvm/local/JVMList.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-local-jvm-mbean/src/main/java/io/hawt/jvm/local/JVMListMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-local-jvm-mbean/src/main/java/io/hawt/jvm/local/VMDescriptorDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-local-jvm-mbean/src/test/java/io/hawt/jvm/local/JVMListTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-local-jvm-mbean/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/src/main/java/io/hawt/log/osgi/Activator.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/src/main/java/io/hawt/log/osgi/LogQuery.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/src/main/java/io/hawt/log/osgi/LogQueryCallback.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/src/main/java/io/hawt/log/osgi/LogQueryMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/src/main/java/io/hawt/log/osgi/Logs.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log-osgi/src/main/java/io/hawt/log/osgi/MavenCoordinates.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/LogEvent.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/LogFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/LogResults.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/log4j/Log4jLogQuery.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/log4j/Log4jLogQueryMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/log4j/MavenCoordHelper.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/log4j/ThrowableFormatter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/rest/LogRequest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/rest/LogResponse.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/rest/LogResponseHit.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/rest/LogResponseHits.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/support/LogQuerySupport.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/support/LogQuerySupportMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/support/LruList.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/support/MavenCoordinates.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/support/Objects.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/main/java/io/hawt/log/support/Predicate.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/test/java/io/hawt/log/log4j/Log4jLogQueryTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-log/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/HawtioContextListener.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/About.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/AboutMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/FileDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/JMXSecurity.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/JMXSecurityMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/JmxTreeWatcher.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/JmxTreeWatcherMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/PluginRegistry.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/PluginRegistryMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/QuartzFacade.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/QuartzFacadeMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/RBACRegistry.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/jmx/RBACRegistryMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/osgi/OsgiMBeanDetector.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthHelpers.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthInfo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthenticateResult.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/Authenticator.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ConfigManager.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/HawtioProperty.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/JmxHelpers.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ProxyWhitelist.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/RBACMBeanInvoker.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/RBACRestrictor.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/ForbiddenReason.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/ServletHelpers.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/AuthenticationConfiguration.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/AuthenticationContainerDiscovery.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/AuthenticationFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/LoginRedirectFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/LoginServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/LogoutServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/Redirector.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/RelativeRequestUri.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/SessionExpiryFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/UserServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/keycloak/KeycloakServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/auth/keycloak/KeycloakUserServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/BaseTagHrefFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/CORSFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/CacheHeadersFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/ContentSecurityPolicyFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/HttpHeaderFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/PublicKeyPinningFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/StrictTransportSecurityFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/XContentTypeOptionsFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/XFrameOptionsFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/filters/XXSSProtectionFilter.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/kubernetes/DefaultProxyAddress.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/kubernetes/OpenShiftProtocolSocketFactory.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/kubernetes/PodServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/kubernetes/ServiceResolver.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/kubernetes/ServiceServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/proxy/ProxyAddress.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/proxy/ProxyDetails.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/proxy/ProxyServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/servlets/JolokiaConfiguredAgentServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/servlets/SpringBatchConfigServlet.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/tomcat/TomcatAuthenticationContainerDiscovery.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/tomcat/TomcatLoginContextConfiguration.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/tomcat/TomcatPrincipal.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/web/tomcat/TomcatUserDatabaseLoginContext.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/resources/META-INF/detectors"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/jmx/JmxTreeWatcherTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/jmx/RBACRegistryTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/system/ConfigManagerTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/system/RBACRestrictorTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/RelativeRequestUriTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/ServletHelpersTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/auth/LoginRedirectFilterTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/auth/RedirectorTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/filters/BaseTagHrefFilterTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/filters/ContentSecurityPolicyFilterTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/java/io/hawt/web/proxy/ProxyDetailsTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/resources/io/hawt/web/filters/index.html"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/resources/keycloak-hawtio-client.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Closeables.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/FileFilters.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/FileLocker.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Files.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Function.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Hosts.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/IOHelper.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/MBeanSupport.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Objects.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Predicate.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/ReflectionHelper.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Strings.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/XmlHelper.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/XmlNamespaceFinder.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/Zips.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/introspect/ClassLoaderProvider.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/introspect/ClassLoaderProviders.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/introspect/support/CacheValue.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/introspect/support/ClassResource.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/introspect/support/ClassScanner.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/main/java/io/hawt/util/introspect/support/Packages.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/test/java/io/hawt/util/HostsTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/test/java/io/hawt/util/StringsTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-util/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/README.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/etc/login.conf"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/etc/security.cli"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/etc/users.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/src/main/java/io/hawt/blueprint/HawtioBlueprintContextListener.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/src/main/resources/blueprint.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/src/main/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-war/src/main/webapp/WEB-INF/web.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/Activator.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/ConfigAdmin.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/ConfigAdminMXBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/OSGiTools.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/OSGiToolsMXBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/RBACDecorator.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/main/java/io/hawt/osgi/jmx/RBACDecoratorMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/test/java/io/hawt/osgi/jmx/ConfigAdminTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/test/java/io/hawt/osgi/jmx/OSGiToolsTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/test/java/io/hawt/osgi/jmx/RBACDecoratorTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/test/resources/io/hawt/osgi/jmx/RBACDecoratorTest-input.json"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/hawtio-osgi-jmx/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/karaf/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/karaf/src/main/resources/features.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/integration-test/java/io/hawt/springboot/AbstractMvcIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/integration-test/java/io/hawt/springboot/DefaultSettingsMvcIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/integration-test/java/io/hawt/springboot/HawtioAuthenticationIsDisabledMvcIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/integration-test/java/io/hawt/springboot/HawtioConfigurationIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/HawtPlugin.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/HawtioAutoConfiguration.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/HawtioConfiguration.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/HawtioEndpoint.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/HawtioProperties.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/PluginService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/java/io/hawt/springboot/SpringHawtioContextListener.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/resources/META-INF/spring.factories"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/main/resources/io/hawt/springboot/application.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/test/java/io/hawt/springboot/HawtioEndpointTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot-1/src/test/java/io/hawt/springboot/SpringHawtioContextListenerTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/integration-test/java/io/hawt/springboot/HawtioSpringBootCustomManagementPortIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/integration-test/java/io/hawt/springboot/HawtioSpringBootEndpointIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/integration-test/java/io/hawt/springboot/HawtioSpringBootExposedEndpointIT.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/integration-test/java/io/hawt/springboot/HawtioSpringBootTestCommon.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/integration-test/java/io/hawt/springboot/HawtioSpringBootTestSupport.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/integration-test/resources/logback-test.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/ConditionalOnExposedEndpoint.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/EndpointPathResolver.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/ExposedEndpoint.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/HawtPlugin.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/HawtioEndpoint.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/HawtioEndpointAutoConfiguration.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/HawtioManagementConfiguration.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/HawtioProperties.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/java/io/hawt/springboot/SpringHawtioContextListener.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/resources/META-INF/spring.factories"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/main/resources/io/hawt/springboot/application.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/test/java/io/hawt/springboot/HawtioEndpointTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/springboot/src/test/java/io/hawt/springboot/SpringHawtioContextListenerTest.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/.gitignore"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/compatibility.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/configuration.md"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/src/main/webapp/META-INF/beans.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/src/main/webapp/WEB-INF/jboss-web.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/platforms/wildfly/src/main/webapp/WEB-INF/web.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/DefaultJUnitService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/FailureDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/InProgressDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/InProgressRunListener.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/JUnitFacade.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/JUnitFacadeMBean.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/JUnitService.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/ResultDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/StackTraceDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/java/io/hawt/junit/ThrowableDTO.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/main/resources/OSGI-INF/blueprint/blueprint.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-junit/src/test/resources/log4j.properties"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/pom.xml"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/BaseMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/BaseRunMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/CamelBlueprintMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/CamelCdiMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/CamelMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/DefaultMojoLifecycle.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/MojoLifecycle.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/RunMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/SpringBootMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/SpringMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/TestMojo.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/main/SpringMain.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/util/IsolatedThreadGroup.java"
create mode 100755 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/tooling/hawtio-maven-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/1.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/10.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/11.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/12.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/13.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/14.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/2.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/3.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/4.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/5.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/6.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/7.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/8.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/img/9.png"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.DS_Store"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.classpath"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.project"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.settings/.jsdtscope"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.settings/org.eclipse.jdt.core.prefs"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.settings/org.eclipse.wst.common.component"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.settings/org.eclipse.wst.common.project.facet.core.xml"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.settings/org.eclipse.wst.jsdt.ui.superType.container"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/.settings/org.eclipse.wst.jsdt.ui.superType.name"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/WebRoot/META-INF/MANIFEST.MF"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/WebRoot/WEB-INF/web.xml"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/WebRoot/index.jsp"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/src/.DS_Store"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/src/com/.DS_Store"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/src/com/sec/servlet/ssrfFileDown.java"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/src/com/sec/servlet/ssrfFileRead.java"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/ssrf/src/com/sec/servlet/ssrfTest.java"
create mode 100644 "\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215.md"
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/circle-v1.yml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/circle-v1.yml"
new file mode 100755
index 0000000..0fb0f1c
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/circle-v1.yml"
@@ -0,0 +1,40 @@
+machine:
+ node:
+ version: 6.9.1
+ java:
+ version: oraclejdk8
+ environment:
+ PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
+
+branches:
+ only:
+ - master
+
+dependencies:
+ pre:
+ - rm -rf ~/.yarn
+ - npm install --global yarn
+ override:
+ - mvn --batch-mode install
+ cache_directories:
+ - ~/.cache/yarn
+
+test:
+ override:
+ - echo true
+
+general:
+ artifacts:
+ - '**/target/*.jar'
+ - '**/target/*.war'
+ - '**/target/classes/features.xml'
+
+deployment:
+ website:
+ branch: master
+ owner: hawtio
+ commands:
+ - git config --global user.email "circleci@mail.com"
+ - git config --global user.name "CircleCI"
+ - ./ci-website.sh
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/config.yml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/config.yml"
new file mode 100755
index 0000000..546b6fd
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.circleci/config.yml"
@@ -0,0 +1,22 @@
+# Javascript Node CircleCI 2.0 configuration file
+#
+# Check https://circleci.com/docs/2.0/language-java/ for more details
+#
+version: 2
+jobs:
+ build:
+ working_directory: ~/hawtio
+ docker:
+ - image: circleci/openjdk:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ checksum "pom.xml" }}
+ - run:
+ command: mvn --batch-mode install
+ environment:
+ MAVEN_OPTS: -showversion -Xms256m -Xmx4096m
+ - save_cache:
+ paths:
+ - ~/.m2
+ key: dependency-cache-{{ checksum "pom.xml" }}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.editorconfig" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.editorconfig"
new file mode 100755
index 0000000..f0881c0
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.editorconfig"
@@ -0,0 +1,11 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_style = space
+indent_size = 2
+insert_final_newline = true
+
+[*.java]
+indent_size = 4
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.gitignore" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.gitignore"
new file mode 100755
index 0000000..aa6d138
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/.gitignore"
@@ -0,0 +1,24 @@
+target
+*.iml
+*.ipr
+*.iws
+*.log
+*.out
+overlays
+.DS_Store
+.settings
+.project
+.classpath
+runtime-EclipseApplication-m2eclipse
+.metadata
+/runtime-*/
+./fabric
+./fuseenterprise
+.idea
+tags
+node_modules
+hawtio-config
+.tscache
+node/
+bower_components/
+.vscode
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/BUILDING.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/BUILDING.md"
new file mode 100755
index 0000000..522cef8
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/BUILDING.md"
@@ -0,0 +1,272 @@
+We love [contributions](http://hawt.io/docs/contributing/)! You may also want to know [how to hack on the hawtio code](DEVELOPERS.md)
+
+[hawtio](http://hawt.io/) can now be built **without** having to install node.js or anything first thanks to the [frontend-maven-plugin](https://github.com/eirslett/frontend-maven-plugin). This
+will install node.js & npm into a subdirectory, run `npm install` to install dependencies & run the build like normal.
+
+## Building
+
+After you've cloned hawtio's git repo the first thing you should do is build the whole project. First `cd` into the root directory of the hawtio project and run:
+
+ mvn clean install
+
+This will ensure all dependencies within the hawtio repo are built and any dependencies are downloaded and in your local repo.
+
+To run the sample web application for development, type:
+
+ cd hawtio-web
+ mvn compile
+ mvn test-compile exec:java
+
+On OS X and linux the _mvn compile_ command above is unnecessary but folks have found on windows there can be timing issues with grunt and maven that make this extra step a requirement (see [issue #203 for more details](https://github.com/hawtio/hawtio/issues/203#issuecomment-15808516))
+
+Or if you want to just run an empty hawtio and connect in hawtio to a remote container (e.g. connect to a Fuse Fabric or something via the Connect tab) just run
+
+ cd hawtio-web
+ mvn clean jetty:run
+
+### How to resolve building error of hawtio-web
+
+In case you get any building error of `hawtio-web`, then it may be due permission error of your local `.npm` directory. This has been known to happen for osx users. To remedy this
+
+ cd ~
+ cd .npm
+ sudo chown -R yourusernamehere *
+
+Where `yourusernamehere` is your username. This will change the file permissions of the node files so you can build the project. After this try building the hawtio source code again.
+
+### Troubleshooting
+
+This section should help you to figure out problems that you could discover when you build/compile the `hawtio` or `hawtio-web` module :
+
+1. ERROR : Can not find the binary /usr/local/bin/phantomjs
+If during the build, you get this error message
+
+````
+[INFO] Running "karma:unit" (karma) task
+[INFO] ERROR [launcher]: Cannot start PhantomJS
+[INFO] Can not find the binary /usr/local/bin/phantomjs
+[INFO] Please set env variable PHANTOMJS_BIN
+[INFO] Warning: Task "karma:unit" failed. Use --force to continue.
+[INFO]
+[INFO] Aborted due to warnings.
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD FAILURE
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 13.511 s
+[INFO] Finished at: 2015-01-30T07:30:49+01:00
+[INFO] Final Memory: 28M/317M
+[INFO] ------------------------------------------------------------------------
+[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.16:grunt (grunt build) on project hawtio-web: Failed to run task: 'grunt default --no-color' failed. (error code 3) -> [Help 1]
+````
+the problem could be solved after removing & installing again phantomjs
+````
+npm uninstall phantomjs
+npm install phantomjs -g
+````
+
+
+
+### Trying Different Containers
+
+The above uses Jetty but you can try running hawtio in different containers via any of the following commands. Each of them runs the hawtio-web in a different container (with an empty JVM so no beans or camel by default).
+
+ mvn tomcat7:run
+ mvn tomcat6:run
+ mvn jboss-as:run
+ mvn jetty:run
+
+## Incrementally compiling TypeScript
+
+For a more rapid development workflow its good to use incremental compiling of TypeScript and to use LiveReload (or LiveEdit) below too.
+
+So in a **separate shell** (while keeping the above shell running!) run the following commands:
+
+ cd hawtio-web
+ mvn compile -Pwatch
+
+This will incrementally watch all the *.ts files in the src/main/webapp/app directory and recompile them into src/main/webapp/app/app.js whenever there's a change.
+
+## Incrementally compiling TypeScript inside IntelliJ (IDEA)
+
+The easiest way we've figured out how to use [IDEA](http://www.jetbrains.com/idea/) and TypeScript together is to setup an External Tool to run watchTsc; then you get (relatively) fast recompile of all the TypeScript files to a single app.js file; so you can just keep hacking code in IDEA and letting LiveReload reload your web page.
+
+* open the **Preferences** dialog
+* select **External Tools**
+* add a new one called **watchTsc**
+* select path to **mvn** as the program and **compile -Pwatch** as the program arguments
+* select **hawtio-web** as the working directory
+* click on Output Filters...
+* add a new Output Filter
+* use this regular expression
+
+```
+$FILE_PATH$\($LINE$,$COLUMN$\)\:
+```
+
+Now when you do **Tools** -> **watchTsc** you should get a output in the Run tab. If you get a compile error when TypeScript gets recompiled you should get a nice link to the line and column of the error.
+
+**Note** when you do this you probably want the Run window to just show the latest compile errors (which is usually the last couple of lines).
+
+I spotted a handy tip on [this issue](http://youtrack.jetbrains.com/issue/IDEA-74931), if you move the cursor to the end of the Run window after some compiler output has been generated - pressing keys _META_ + _end_ (which on OS X is the _fn_ and the _option/splat_ and right cursor keys) then IDEA keeps scrolling to the end of the output automatically; you don't have to then keep pressing the "Scroll to end" button ;)
+
+## Adding additional Javascript dependencies
+
+Hawtio is (finally) adopting [bower](http://bower.io/) for managing dependencies, these are automatically pulled in when building the project. It's now really easy to add third-party Javascript/CSS stuff to hawtio:
+
+* cd into 'hawtio-web', and build it
+* source 'setenv.sh' to add bower to your PATH (it's under node_modules) if you haven't installed it globally
+* run 'bower install --save some-awesome-tool'
+* run 'grunt bower wiredep' to update index.html
+* commit the change to bower.json and index.html
+
+When running in development mode be sure you've run 'grunt bower' if you see 404 errors for the bower package you've installed. This is normally done for you when running 'mvn clean install'
+
+## Using LiveReload
+
+The LiveReload support allows you to edit the code and for the browser to automatically reload once things are compiled. This makes for a much more fun and RAD development environment!!
+
+The easiest method to run with LiveReload support is to cd into the "hawtio-web" module and run the following:
+
+mvn test-compile exec:java
+
+The sample server runs an embedded LiveReload server that's all set up to look at src/main/webapp for file changes. If you don't want to load all of the sample apps because you're connecting to another JVM you don't have to:
+
+mvn test-compile exec:java -DloadApps=false
+
+
+The Live Reload server implementation is provided by [livereload-jvm](https://github.com/davidB/livereload-jvm). When using other methods to run hawtio, like "mvn jetty:run" or "mvn tomcat:run", you can run [livereload-jvm](https://github.com/davidB/livereload-jvm) directly, for example from the hawtio-web directory:
+
+ java -jar livereload-jvm-0.2.0-SNAPSHOT-onejar.jar -d src/main/webapp/ -e .*\.ts$
+
+Install the [LiveReload](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei) plugin for Chrome and then enable it for the website (click the live reload icon on the right of the address bar). There is also a LiveReload plugin for Firefox, you can get it straight from the [LiveReload site](http://livereload.com).
+
+
+In another shell (as mentioned above in the "Incrementally compile TypeScript" section you probably want to auto-recompile all the TypeScript files into app.js in *another shell* via this command:
+
+ cd hawtio-web
+ mvn compile -Pwatch
+
+Enable Live Reload in your browser (open [http://localhost:8282/hawtio/](http://localhost:8282/hawtio/) then click on the Live Reload icon to the right of the location bar).
+
+Now if you change any source (HTML, CSS, TypeScript, JS library) the browser will auto reload on the fly. No more context-switching between your IDE and your browser! :)
+
+To specify a different port to run on, just override the `jettyPort` property
+
+ mvn test-compile exec:java -DjettyPort=8181
+
+### Using your build & LiveReload inside other web containers
+
+TODO - this needs updating still...
+
+The easiest way to use other containers and still get the benefits of LiveReload is to create a symbolic link to the generated hawtio-web war in expanded form, in the deploy directory in your web server.
+
+e.g. to use Tomcat7 in LiveReload mode try the following to create a symbolic link in the tomcat/webapps directory to the **hawtio-web/target/hawtio-web-1.3-SNAPSHOT** directory:
+
+ cd tomcat/webapps
+ ln -s ~/hawtio/hawtio-web/target/hawtio-web-1.3-SNAPSHOT hawtio
+
+Then use [livereload-jvm](https://github.com/davidB/livereload-jvm) manually as shown above.
+
+Now just run Tomcat as normal. You should have full LiveReload support and should not have to stop/start Tomcat or recreate the WAR etc!
+
+### Running hawtio against Kubernetes / OpenShift
+
+To try run a [local OpenShift V3 based on Kubernetes / Docker](http://fabric8.io/v2/getStarted.html) first
+
+ opeshift start
+
+Then run the following:
+
+ export KUBERNETES_MASTER=http://localhost:8080
+ mvn test-compile exec:java
+
+You should now see the Kubernetes / OpenShift console at http://localhost:8282/
+
+#### Using your build from inside Jetty
+
+For jetty you need to name the symlink directory **hawtio.war** for [Jetty to recognise it](http://www.eclipse.org/jetty/documentation/current/automatic-webapp-deployment.html).
+
+ cd jetty-distribution/webapps
+ ln -s ~/hawtio/hawtio-web/target/hawtio-web-1.3-SNAPSHOT hawtio.war
+
+Another thing is for symlinks jetty uses the real directory name rather than the symlink name for the context path.
+
+So to open the application in Jetty open [http://localhost:8282/hawtio-web-1.3-SNAPSHOT/](http://localhost:8282/hawtio-web-1.3-SNAPSHOT/)
+
+
+## Running Unit Tests
+
+You can run the unit tests via maven:
+
+ cd hawtio-web
+ mvn test
+
+If you are using the [LiveReload plugin for Chrome](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei) you can then hit the LiveReload icon to the right of the address bar and if you are running the watch profile, the tests are re-run every time there is a compile:
+
+ mvn test -Pwatch
+
+Now the unit tests are all re-run whenever you edit the source.
+
+## Running integration Tests
+
+You can run the Protractor integration tests via maven:
+
+ cd hawtio-web
+ mvn verify -Pitests
+
+This will run the tests headlessly, in [Phantomjs](http://phantomjs.org/).
+
+If you want to see the tests running, you can run them in Chrome with:
+
+ cd hawtio-web
+ mvn verify -Pitests,chrome
+
+## How to Get Started Hacking the Code
+
+Check out the [hawtio technologies, tools and code walkthroughs](http://hawt.io/developers/index.html)
+
+## Trying hawtio with Fuse Fabric
+
+As of writing hawtio depends on the latest snapshot of [Fuse Fabric](http://fuse.fusesource.org/fabric/). To try out hawtio with it try these steps:
+
+ 1. Grab the latest [Fuse Fabric source code](http://fuse.fusesource.org/source.html) and do a build in the fabric directory...
+
+ git clone git://github.com/fusesource/fuse.git
+ cd fuse
+ cd fabric
+ mvn -Dtest=false -DfailIfNoTests=false clean install
+
+ 2. Now create a Fuse Fabric instance
+
+ cd fuse-fabric\target
+ tar xf fuse-fabric-99-master-SNAPSHOT.tar.gz
+ cd fuse-fabric-99-master-SNAPSHOT
+ bin/fusefabric
+
+ 3. When the Fabric starts up run the command
+
+ fabric:create
+
+ to properly test things out you might want to create a new version and maybe some child containers.
+
+### Running hawtio with Fuse Fabric in development mode
+
+ cd hawtio-web
+ mvn test-compile exec:java -Psnapshot,fabric
+
+### Running hawtio using `jetty-maven-plugin` with authentication enabled
+
+Running hawtio using `mvn jetty:run` will switch hawtio configuration to use system (instead of JNDI) properties. The default configuration uses
+`/` list inside `jetty-maven-plugin` configuration.
+
+One of those properties is standard JAAS property `java.security.auth.login.config` pointing at Jetty-Plus JAAS LoginModule which uses `src/test/resources/users.properties` file for mapping
+users to password and roles.
+
+By default this mapping is:
+
+ admin=admin123,admin,viewer
+
+However `hawtio.authenticationEnabled` is disabled (`false`) by default. So in order to run hawtio using Jetty Maven plugin with authentication enabled, you can either
+change this property in `hawtio-web/pom.xml`, or simply run:
+
+ mvn jetty:run -Dhawtio.authenticationEnabled=true
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CHANGES.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CHANGES.md"
new file mode 100755
index 0000000..bdefb01
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CHANGES.md"
@@ -0,0 +1,93 @@
+## Change Log
+
+#### 2.6.0 (To be released)
+
+#### 2.5.0
+
+* Add config property `hawtio.localAddressProbing`. Now you can disable local address probing
+ for proxy whitelist upon startup by setting this property to `false` (default: `true`).
+* Upgrade Camel to 2.23.1
+* Upgrade Spring Framework to 5.1.3
+* Upgrade Spring Boot to 2.1.2
+* Bug fixes
+
+#### 2.4.0
+
+* Support Java 11
+* Upgrade @hawtio/integration, @hawtio/jmx to 4.2.x
+* Upgrade Spring Boot to 2.1.1
+
+#### 2.3.0
+
+* Add support for Spring Boot 2
+ **Note:** Spring Boot 2 is now the default Spring Boot version for Hawtio dependency `hawtio-spring-boot`.
+ If Spring Boot 1 is required, use dependency `hawtio-spring-boot-1`.
+* Bug fixes
+
+#### 2.2.0
+
+* Upgrade Hawtio components to 4.1.x
+* Minor improvements
+* Bug fixes
+
+#### 2.1.0
+
+* Upgrade Hawtio components to 4.0.x
+* Upgrade AngularJS to 1.7.x
+* Improve security-releated HTTP headers handling
+* Bug fixes
+
+#### 2.0.3
+
+- #2488: Allow using SSL by specifying a keyStore and keyStorePass from embedded Hawtio
+
+#### 2.0.2
+
+* **Official Hawtio v2 GA version!**
+
+#### 2.0.0, 2.0.1
+
+* These are old versions that were mistakenly released years ago. Please don't use these versions!
+
+#### 2.0 Beta3 (To be released)
+
+* Added hawtio BOM
+
+#### 2.0 Beta2
+
+* Keycloak integration support
+* Bug fixes
+
+#### 2.0 Beta1
+
+* hawtio Maven plugin
+* Improved Spring Boot support
+* Log plugin
+* Diagnostics plugin
+* Karaf RBAC support
+* PatternFly-based login page and logo
+* Upgrade to Servlet API 3.1
+* Port fixes from hawtio v1
+* Bug fixes
+
+#### 2.0 M3
+
+* Switch from bower to yarn
+* Help plugin
+* Port fixes from hawtio v1
+
+#### 2.0 M2
+
+* Migrate to PatternFly
+* Bug fixes
+* Port fixes from hawtio v1
+
+#### 2.0 M1
+
+* Initial 2.0 milestone release
+
+-----
+
+#### 1.x
+
+See: https://github.com/hawtio/hawtio/blob/1.x/CHANGES.md
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CONTRIBUTING.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CONTRIBUTING.md"
new file mode 100755
index 0000000..f1308d3
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/CONTRIBUTING.md"
@@ -0,0 +1,62 @@
+We love contributions! We really need your help to make [hawtio](http://hawt.io/) even more hawt, so please [join our community](http://hawt.io/community/index.html)!
+
+Many thanks to all of our [existing contributors](https://github.com/hawtio/hawtio/graphs/contributors)! But we're greedy, we want more! hawtio is _hawt_, but it can be _hawter_! :). We have [lots of plugins](http://hawt.io/plugins/index.html) but they can be improved and we want more plugins!
+
+Here's some notes to help you get started:
+
+## Getting Started
+
+* Make sure you have a [GitHub account](https://github.com/signup/free) as you'll need it to submit issues, comments or pull requests.
+* Got any ideas for how we can improve hawtio? Please [submit an issue](https://github.com/hawtio/hawtio/issues?state=open) with your thoughts. Constructive criticism is always greatly appreciated!
+* Fancy submitting [any nice screenshots of how you're using hawtio?](https://github.com/hawtio/hawtio/tree/master/website/src/images/screenshots) A quick Youtube screencast would be even _hawter_ or a blog post/article we can link to? Just [submit an issue](https://github.com/hawtio/hawtio/issues?state=open) (or fork and patch the [website](https://github.com/hawtio/hawtio/tree/master/website/src/) or any Markdown docs in our repository directly) and we'll merge it into our website.
+* Fancy submitting your cool new dashboard configuration or some wiki docs? See below on how to do that...
+* Search [our issue tracker](https://github.com/hawtio/hawtio/issues?state=open) and see if there's been any ideas or issues reported for what you had in mind; if so please join the conversation in the comments.
+* Submit any issues, feature requests or improvement ideas [our issue tracker](https://github.com/hawtio/hawtio/issues?state=open).
+ * Clearly describe the issue including steps to reproduce when it is a bug.
+ * Make sure you fill in the earliest version that you know has the issue.
+
+### Fancy hacking some code?
+
+* If you fancy working on some code, check out the these lists of issues:
+ * [open apprentice tasks](https://github.com/hawtio/hawtio/issues?labels=apprentice+tasks&page=1&sort=updated&state=open) - which are moderately easy to fix and tend to have links to which bits of the code to look at to fix it or
+ * [all open issues](https://github.com/hawtio/hawtio/issues?state=open) if you fancy being more adventurous.
+ * [hawt ideas](https://github.com/hawtio/hawtio/issues?labels=hawt+ideas&page=1&sort=updated&state=open) if you're feeling like a ninja and fancy tackling our harder issues that tend to add really _hawt_ new features!
+
+* To make code changes, fork the repository on GitHub then you can hack on the code. We love any contribution such as:
+ * fixing typos
+ * improving the documentation or embedded help
+ * writing new test cases or improve existing ones
+ * adding new features
+ * improving the layout / design / CSS
+ * creating a new [plugin](http://hawt.io/plugins/index.html)
+
+## Submitting changes to hawtio
+
+* Push your changes to your fork of the [hawtio repository](https://github.com/hawtio/hawtio).
+* Submit a pull request to the repository in the **hawtio** organization.
+* If your change references an existing [issue](https://github.com/hawtio/hawtio/issues?state=open) then use "fixes #123" in the commit message (using the correct issue number ;).
+
+## Submitting changes dashboard and wiki content
+
+Hawtio uses the [hawtio-config repository](https://github.com/hawtio/hawtio-config) to host its runtime configuration. When you startup hawtio by default it will clone this repository to the configuration directory (see the [configuration document](https://github.com/hawtio/hawtio/blob/master/docs/Configuration.md) or more detail).
+
+In development mode if you are running hawtio via the **hawtio-web** directory, then your local clone of the [hawtio-config repository](https://github.com/hawtio/hawtio-config) will be in the **hawtio/hawtio-web/hawtio-config directory**. If you've added some cool new dashboard or editted any files via the hawtio user interface then your changes will be committed locally in this directory.
+
+If you are a committer and want to submit any changes back just type:
+
+ cd hawtio-config
+ git push
+
+Otherwise if you want to submit pull requests for your new dashboard or wiki content then fork the [hawtio-config repository](https://github.com/hawtio/hawtio-config) then update your hawtio-config directory to point to this directory. e.g. edit the hawtio-config/.git/config file to point to your forked repository.
+
+Now perform a git push as above and then submit a pull request on your forked repo.
+
+# Additional Resources
+
+* [FAQ](http://hawt.io/docs/faq/)
+* [General GitHub documentation](http://help.github.com/)
+* [GitHub create pull request documentation](https://help.github.com/articles/creating-a-pull-request)
+* [Here is how to build the code](BUILDING.md)
+* [More information for developers in terms of hawtio technologies, tools and code walkthroughs](DEVELOPERS.md)
+* [Join the hawtio community](http://hawt.io/community/)
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/DEVELOPERS.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/DEVELOPERS.md"
new file mode 100755
index 0000000..4685e1f
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/DEVELOPERS.md"
@@ -0,0 +1,189 @@
+We love [contributions](http://hawt.io/docs/contributing/). This page is intended to help you get started hacking on the code, it contains various information on technology and tools together with code walk-throughs.
+
+Welcome and enjoy! Its hawt, but stay cool! :)
+
+## Building the code
+
+Check out [How To Build The Code](BUILDING.md) if you want to start hacking on the source.
+
+## Architecture
+
+**hawtio** is a single page application which is highly modular and capable of dynamically loading [plugins](http://hawt.io/plugins/index.html) based on the capability of the server.
+
+You may want to check out:
+
+* [Current hawtio plugins](http://hawt.io/plugins/index.html)
+* [How plugins work](http://hawt.io/docs/how-plugins-work/)
+
+## Developer Tools
+
+The following are recommended if you want to contribute to the code
+
+* [IntelliJ IDEA EAP 12 or later](http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP) as this has TypeScript support and is the daddy of IDEs!
+* [There are other TypeScript plugins](http://blogs.msdn.com/b/interoperability/archive/2012/10/01/sublime-text-vi-emacs-typescript-enabled.aspx) if you prefer Sublime, Emacs or VIM. (Unfortunately we're not aware of an eclipse plugin yet).
+* [AngularJS plugin for IDEA](http://plugins.jetbrains.com/plugin/?id=6971) if you use [IDEA](http://www.jetbrains.com/idea/) then this plugin really helps work with Angular JS
+* [AngularJS plugin for Chrome](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk) which is handy for visualising scopes and performance testing etc.
+* [JSONView plugin for Chrome](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc) makes it easy to visualise JSON returned by the [REST API of Jolokia](http://jolokia.org/reference/html/protocol.html)
+* [Apache Maven 3.0.3 or later](http://maven.apache.org/)
+* [gruntjs](http://gruntjs.com/) a build tool for JavaScript. See nearly the beginning of this document for details of how to install and use.
+* [Dash.app](http://kapeli.com/) is a handy tool for browsing API documentation for JavaScript, HTML, CSS, jquery, AngularJS etc.
+
+## JavaScript Libraries
+
+For those interested in [contributing](http://hawt.io/contributing/index.html) or just learning how to build single page applications, here is a list of the various open source libraries used to build hawtio:
+
+* [AngularJS](http://angularjs.org/) is the web framework for performing real time two-way binding of HTML to the model of the UI using simple declarative attributes in the HTML.
+* [jolokia](http://jolokia.org/) is the server side / JVM plugin for exposing JMX as JSON over HTTP. It's awesome and is currently the only server side component of hawtio.
+* [TypeScript](http://typescriptlang.org/) is the language used to implement the console; it compiles to JavaScript and adds classes, modules, type inference & type checking. We recommend [IntelliJ IDEA EAP 12 or later](http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP) for editing TypeScript--especially if you don't use Windows or Visual Studio (though there is a Sublime Text plugin too).
+* [angular ui](http://angular-ui.github.com/) is a library of AngularJS additions and directives
+* [d3](http://d3js.org/) is the visualization library used to do the force layout graphs (for example the diagram view for ActiveMQ)
+* [cubism](http://square.github.com/cubism/) implements the real-time horizon charts
+* [dagre](https://github.com/cpettitt/dagre) for graphviz style layouts of d3 diagrams (e.g. the Camel diagram view).
+* [ng-grid](http://angular-ui.github.com/ng-grid/) an AngualrJS based table/grid component for sorting/filtering/resizing tables
+* [marked](https://github.com/chjj/marked) for rendering Github-flavoured Markdown as HTML
+* [DataTables](http://datatables.net/) for sorted/filtered tables (though we are migrating to ng-grid as its a bit more natural for AngularJS)
+* [DynaTree](http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html) for tree widget
+* [jQuery](http://jquery.com/) small bits of general DOM stuff, usually when working with third-party libraries which don't use AngularJS
+* [Twitter Bootstrap](http://twitter.github.com/bootstrap/) for CSS
+* [Toastr](https://github.com/CodeSeven/toastr) for notifications
+
+We're not yet using it but these look handy too:
+
+* [jquery-mobile-angular-adapter](https://github.com/tigbro/jquery-mobile-angular-adapter) for easy interop of jQuery Mobile and AngularJS
+* [breezejs](http://www.breezejs.com/) for easy LINQ / ActiveRecord style database access and synchronization
+
+## API documentation
+
+If you are interested in working on the code the following references and articles have been really useful so far:
+
+* [available AngularJS Directives](http://hawt.io/developers/directives.html)
+* [angularjs API](http://docs.angularjs.org/api/)
+* [bootstrap API](http://twitter.github.com/bootstrap/base-css.html)
+* [cubism API](https://github.com/square/cubism/wiki/API-Reference)
+* [d3 API](https://github.com/mbostock/d3/wiki/API-Reference)
+* [ng-grid API](http://angular-ui.github.com/ng-grid/#/api)
+* [datatables API](http://www.datatables.net/api)
+* [javascript API](http://www.w3schools.com/jsref/default.asp)
+* [sugarjs API](http://sugarjs.com/api/Array/sortBy)
+* [icons from Font Awesome](http://fortawesome.github.com/Font-Awesome/)
+
+### Developer Articles, Forums and Resources
+
+* [Fun with AngularJS](http://devgirl.org/2013/03/21/fun-with-angularjs/) is great overview on AngularJS!
+* [egghead.io various short angularjs videos](http://egghead.io/)
+* [great angularjs talk](http://www.youtube.com/angularjs)
+* [AngularJS plugins](http://ngmodules.org/)
+* [AngularJS tips and tricks](http://deansofer.com/posts/view/14/AngularJs-Tips-and-Tricks-UPDATED)
+* [more AngularJS magic to supercharge your webapp](http://www.yearofmoo.com/2012/10/more-angularjs-magic-to-supercharge-your-webapp.html#)
+* [AngularJS questions on stackoverflow](http://stackoverflow.com/questions/tagged/angularjs)
+* [Modeling Data and State in Your AngularJS Application](http://joelhooks.com/blog/2013/04/24/modeling-data-and-state-in-your-angularjs-application/)
+* [6 Common Pitfalls Using Scopes](http://thenittygritty.co/angularjs-pitfalls-using-scopes)
+
+## Code Walkthrough
+
+If you fancy contributing--and [we love contributions!](http://hawt.io/docs/contributing/)--the following should give you an overview of how the code hangs together:
+
+* hawtio is a single page web application, from [this single page of HTML](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/index.html)
+* We use [AngularJS routing](http://docs.angularjs.org/api/ng.directive:ngView) to display different [partial pages](https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app/core/html) depending on which tab/view you choose. You'll notice that the partials are simple HTML fragments which use [AngularJS](http://angularjs.org/) attributes (starting with **ng-**) along with some {{expressions}} in the markup.
+* Other than the JavaScript libraries listed above which live in [webapp/lib](https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/lib) and are [included in the index.html](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/index.html), we then implement [AngularJS](http://angularjs.org/) controllers using [TypeScript](http://typescriptlang.org/). All the typescript source is in the [in files in webapp/app/pluginName/js/ directory](https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/webapp/app) which is then compiled into the [webapp/app/app.js file](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/app.js)
+* To be able to compile with TypeScript's static type checking we use the various [TypeScript definition files](https://github.com/hawtio/hawtio/tree/master/hawtio-web/src/main/d.ts) to define the optional statically typed APIs for the various APIs we use
+* The controllers use the [Jolokia JavaScript API](http://jolokia.org/reference/html/clients.html#client-javascript) to interact with the server side JMX MBeans
+
+### How the Tabs Work
+
+Tabs can dynamically become visible or disappear based on the following:
+
+* the contents of the JVM
+* the [plugins](http://hawt.io/docs/plugins/),
+* and the current UI selection(s).
+
+[Plugins](http://hawt.io/docs/plugins/) can register new top-level tabs by adding to the [topLevelTabs](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L9) on the workspace which can be dependency injected into your plugin via [AngularJS Dependency Injection](http://docs.angularjs.org/guide/di).
+
+The [isValid()](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L12) function is then used to specify when this top-level tab should be visible.
+
+You can register [subLevelTabs](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L16) which are then visible when the [right kind of MBean is selected](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/log/js/logPlugin.ts#L19).
+
+For more detail check out the [plugin documentation](http://hawt.io/docs/plugins/).
+
+#### Enable Source Maps for Easier Debugging
+
+We recommend you enable [Source Maps](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1) in your browser (e.g. in Chrome) for easier debugging by clicking on the bottom-right Settings icon in the *JavaScript Console* and [enabling Source Maps support such as in this video](http://www.youtube.com/watch?v=-xJl22Kvgjg).
+
+#### Notes on Using IDEA
+
+To help IDEA navigate to functions in your source and to avoid noise, you may want to ignore some JavaScript files in IDEA so that they are not included in the navigation. Go to `Settings/Preferences -> File Types -> Ignore Files` then add these patterns to the end:
+
+ *.min.js;*-min.js
+
+Ignoring these files will let IDEA ignore the minified versions of the JavaScript libraries.
+
+Then select the generated [webapp/app/app.js file](https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/app/app.js) in the Project Explorer, right-click and select _Mark as Plain Text_ so that it is ignored as being JavaScript source. This hint came from [this forum thread](http://devnet.jetbrains.net/message/5472690#5472690), hopefully there will be a nicer way to do all this one day!
+
+#### Handy AngularJS debugging tip
+
+Open the JavaScript Console and select the _Console_ tab so you can type expressions into the shell.
+Select part of the DOM of the scope you want to investigate
+Right click and select _Inspect Element_
+In the console type the following
+
+ s = angular.element($0).scope()
+
+You have now defined a variable called _s_ which contains all the values in the active AngularJS scope so you can navigate into the scope and inspect values or invoke functions in the REPL, etc.
+
+#### Handy JQuery debugging tip
+
+Open the JavaScript Console and select the _Console_ tab so you can type expressions into the shell.
+Select a DOM element (e.g., button) for which you want to check what jquery event handlers are attached.
+In the console type:
+
+ jQuery._data($0, "events")
+
+You'll get array of events. When you expand the events and go to "handler" member (e.g., `click->0->handler`), you can:
+
+* in Firebug right click `function()` and select _Inspect in Script Panel_
+* in Chrome dev tools right click `function()` and select _Show Function Definition_
+
+to see the body of handler method.
+
+### Handy AngularJS programming tips
+
+#### Use a nested scope object to own state for 2 way binding
+
+When binding models to HTML templates; its always a good idea to use a level of indirection between the $scope and the property. So rather than binding to $scope.name, bind to $scope.entity.name then have code like
+
+ $scope.entity = { "name": "James" };
+
+This means to that to reset the form you can just do
+
+ $scope.entity = {};
+
+And you can then refer to the entire entity via **$scope.entity**. Another reason for doing this is that when you have lots of nested scopes; for example when using nested directives, or using includes or layouts, you don't get inheritence issues; since you can acess $scope.entity from child scopes fine.
+
+#### When working with $routeParams use the $scope.$on
+
+Its often useful to use $routeParams to get the URI template parameters. However due to [the rules on who gets the $routeParams injected](http://deansofer.com/posts/view/14/AngularJs-Tips-and-Tricks-UPDATED#routing) when using layouts and so forth, the $routeParams can be empty.
+
+So put all code that uses $routeParams inside the $routeChangeSuccess callback:
+
+ $scope.$on('$routeChangeSuccess', function(event, routeData){
+ // process $routeParams now...
+ });
+
+### Local Storage
+
+hawtio uses local storage to store preferences and preferred views for different kinds of MBean type and so forth.
+
+You can view the current Local Storage in the Chrome developer tools console in the Resources / Local Storage tab.
+
+If you ever want to clear it out in Chrome on OS X you'll find this located at `~/Library/Application Support/Google/Chrome/Default/Local Storage`.
+
+
+### Updating the hawtio website
+
+The website is automatic build and updated on each commit. There is a CI job on circleci that runs
+
+ https://circleci.com/gh/hawtio/hawtio
+
+The task runs the script `ci-website.sh` that builds the website. If anything goes wrong, the errors are usually shown in the CI job output (link above).
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/FAQ.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/FAQ.md"
new file mode 100755
index 0000000..c72671a
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/FAQ.md"
@@ -0,0 +1,222 @@
+## General Questions
+
+General questions on all things hawtio.
+
+#### What is the license?
+
+hawtio uses the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.txt).
+
+#### What does hawtio do?
+
+It's a [pluggable](http://hawt.io/plugins/index.html) management console for Java stuff which supports any kind of JVM, any kind of container (Tomcat, Jetty, Karaf, JBoss, Fuse Fabric, etc), and any kind of Java technology and middleware.
+
+#### How do I install hawtio?
+
+See the [Getting Started Guide](http://hawt.io/getstarted/index.html) and the [Configuration Guide](http://hawt.io/configuration/index.html)
+
+#### How do I configure hawtio?
+
+Mostly hawtio just works. However, please check out the [Configuration Guide](http://hawt.io/configuration/index.html) to see what kinds of things you can configure via system properties, environment variables, web.xml context-params or dependency injection.
+
+#### How do I disable security?
+
+Since 1.2-M2 of hawtio we enable security by default using the underlying application container's security mechanism.
+
+Here's how to [disable security](https://github.com/hawtio/hawtio/blob/master/docs/Configuration.md#configuring-or-disabling-security-in-karaf-servicemix-fuse) if you wish to remove the need to login to hawtio.
+
+#### Which Java version is required?
+
+- Hawtio 1.5 onwards - requires Java 8.
+- Hawtio 1.4 - requires Java 7 or 8.
+- Hawtio 1.3 or older - supports Java 6 and 7.
+
+#### How do I enable hawtio inside my Java Application / Spring Boot / DropWizard / Micro Service
+
+The easiest thing to do is add jolokia as a java agent via a java agent command line:
+
+ java -javaagent:jolokia-agent.jar=host=0.0.0.0 -jar foo.jar
+
+Then by default you can connect on http;//localhost:8778/jolokia to access the jolokia REST API.
+
+Now you can use hawtio (e.g. the Google Chrome Extension or the stand alone hawtio application) to connect to it - and it then minimises the effect of hawtio/jolokia on your app (e.g. you don't need to mess about with whats inside your application or even change the classpath)
+
+#### How do I connect to my remote JVM?
+
+All that's required for hawtio to connect to any remote JVM is that a [jolokia agent](http://jolokia.org/agent.html) is attached to the JVM you wish to connect to. This can be done in various ways.
+
+Firstly if you are using [Fuse](http://www.jboss.org/products/fuse) or [Apache ActiveMQ 5.9.x or later](http://activemq.apache.org/) then you already have jolokia enabled by default.
+
+If a JVM has no jolokia agent, you can use the **Local** tab of the **Connect** menu (in 1.2.x or later of **hawtio-default.war**). The Local tab lists all local Java processes on the same machine (just like JConsole does).
+
+For JVMs not running a jolokia agent already, there's a start button (on the right) which will dynamically add the [jolokia JVM agent](http://jolokia.org/agent/jvm.html) into the selected JVM process. You can then click on the Agent URL link to connect into it.
+
+Note that the Local plugin only works when the JVM running hawtio has the **hawtio-local-jvm-mbean** plugin installed (which depends on the JVM finding the com.sun.tools.attach.VirtualMachine API that jconsole uses and is included in the hawtio-default.war). BTW if you don't see a **Local** tab inside the **Conect** menu in your hawtio application; check the log of your hawtio JVM; there might be a warning around com.sun.tools.attach.VirtualMachine not being available on the classpath. Or you could just try using the [exectuable jar](http://hawt.io/getstarted/index.html) to run hawtio which seems to work on most platforms.
+
+Note also that the **Local** tab only works when the process is on the same machine as the JVM running hawtio. So a safer option is just to make sure there's a jolokia agent running in each JVM you want to manage with hawtio.
+
+There are a [few different agents you can use](http://jolokia.org/agent.html):
+
+* [WAR agent](http://jolokia.org/agent/war.html) if you are using a servlet / EE container
+* [OSGi agent](http://jolokia.org/agent/osgi.html) if you are using OSGi (note that Jolokia is enabled by default in [Fuse](http://www.jboss.org/products/fuse) so you don't have to worry)
+* [JVM agent](http://jolokia.org/agent/jvm.html) if you are using a stand alone Java process
+
+So once you've got a jolokia agent in your JVM you can test it by accessing `http://host:port/jolokia` in a browser to see if you can view the JSON returned for the version information of the jolokia agent.
+
+Assuming you have jolokia working in your JVM, then you can use the **Remote** tab on the **Connect** menu in hawtio to connect; just enter the host, port, jolokia path and user/password. Note by default only `localhost` is accepted to connect for security, so you need to configure `hawtio.proxyWhitelist` system property or `proxyWhitelist` init parameter on `ProxyServlet` in `hawtio.war`'s `WEB-INF/web.xml` to explicitly allow hosts that you are connecting to.
+
+After trying the above if you have problems connecting to your JVM, please [let us know](http://hawt.io/community/index.html) by [raising an issue](https://github.com/hawtio/hawtio/issues?state=open) and we'll try to help.
+
+#### How do I install a plugin?
+
+Each hawtio distro has these [browser based plugins](http://hawt.io/plugins/index.html) inside already; plus hawtio can discover any other external plugins deployed in the same JVM too.
+
+Then the hawtio UI updates itself in real time based on what it can find in the server side JVM it connects to. So, for example, if you connect to an empty tomcat/jetty you'll just see things like JMX and tomcat/jetty (and maybe wiki / dashboard / maven if you're using hawtio-default.war which has a few more server side plugins inside).
+
+Then if you deploy a WAR which has ActiveMQ or Camel inside it, you should see an ActiveMQ or Camel tab appear as you deploy code which registers mbeans for ActiveMQ or Camel.
+
+So usually, if you are interested in a particular plugin and its not visible in the hawtio UI (after checking your preferences in case you disabled it), usually you just need to deploy or add a server side plugin; which is usually a case of deploying some Java code (e.g. ActiveMQ, Camel, Infinispan etc).
+
+#### What has changed lately?
+
+Try have a look at the [change log](http://hawt.io/changelog.html) to see the latest changes in hawtio!
+
+#### Where can I find more information?
+
+Try have a look at the [articles and demos](http://hawt.io/articles/index.html) to see what other folks are saying about hawtio.
+
+#### Why does hawtio log a bunch of 404s to the javascript console at startup?
+
+The hawtio help registry tries to automatically discover help data for each registered plugin even if plugins haven't specifically registered a help file.
+
+#### Why does hawtio have its own wiki?
+
+At first a git-based wiki might not seem terribly relevant to hawtio. A wiki can be useful to document running systems and link to the various consoles, operational tools and views. Though in addition to being used for documentation, hawtio's wiki also lets you view and edit any text file; such as Camel routes, Fuse Fabric profiles, Spring XML files, Drools rulebases, etc.
+
+From a hawtio perspective though its wiki pages can be HTML or Markdown and then be an AngularJS HTML partial. So it can include JavaScript widgets; or it can include [AngularJS directives](http://docs.angularjs.org/guide/directive).
+
+This lets us use HTML and Markdown files to define custom views using HTML directives (custom tags) from any [hawtio plugins](http://hawt.io/plugins/index.html). Hopefully over time we can build a large library of HTML directives that folks can use inside HTML or Markdown files to show attribute values or charts from MBeans in real time, to show a panel from a dashboard, etc. Then folks can make their own mashups and happy pages showing just the information they want.
+
+So another way to think of hawtio wiki pages is as a kind of plugin or a custom format of a dashboard page. Right now each dashboard page assumes a grid layout of rectangular widgets which you can add to and then move around. However with a wiki page you can choose to render whatever information & widgets you like in whatever layout you like. You have full control over the content and layout of the page!
+
+Here are some [sample](https://github.com/hawtio/hawtio/issues/103) [issues](https://github.com/hawtio/hawtio/issues/62) on this if you want to help!
+
+So whether the hawtio wiki is used for documentation, to link to various hawtio and external resources, to create custom mashups or happy pages or to provide new plugin views--all the content of the wiki is audited, versioned and stored in git so it's easy to see who changed what, when and to roll back changes, etc.
+
+#### How to I install hawtio as web console for Apache ActiveMQ
+
+You can use hawtio to remote manage any ActiveMQ brokers without the need to co-install hawtio together with the ActiveMQ broker. However you can also install hawtio with the broker if you want. Dejan Bosanac [blogged how to do this](http://sensatic.net/activemq/activemq-and-hawtio.html).
+
+
+### Problems/General Questions about using hawtio
+
+Questions relating to errors you get while using hawtio or other general questions:
+
+#### How can I hide or move tabs to different perspectives?
+
+An easy way is to use a plugin to reconfigure the default perspective definition. Have a look at the [custom-perspective](https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/custom-perspective) for a plugin-based solution.
+
+From **hawtio 1.2.2** onwards you can reorder and hide plugins from the preference.
+
+
+#### Provider sun.tools.attach.WindowsAttachProvider could not be instantiated: java.lang.UnsatisfiedLinkError: no attach in java.library.path
+
+If you see an error like this:
+
+ java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider: Provider sun.tools.attach.WindowsAttachProvider could not be instantiated: java.lang.UnsatisfiedLinkError: no attach in java.library.path
+
+when starting up or trying the **Connect/Local** tab then its probably related to [this issue](http://stackoverflow.com/questions/14027164/fix-the-java-lang-unsatisfiedlinkerror-no-attach-in-java-library-path) as was found on [#718](https://github.com/hawtio/hawtio/issues/718#issuecomment-27677738).
+
+Basically you need to make sure that you have JAVA_HOME/bin on your path. e.g. try this first before starting hawtio:
+
+ set path=%path%;%JAVA_HOME%\jre\bin
+
+#### The Terminal plugin in Karaf does not work
+
+The terminal plugin may have trouble the first time in use, not being able to connect and show the terminal. Try selecting another plugin, and go back to the terminal plugin a bit later, and it then may be able to login. Also if the screen is all black, then pressing ENTER may help show the terminal.
+
+
+#### Why does the Camel Route Diagram not show counters
+
+If you use Apache ServixeMix / Karaf and you deploy a Camel XML file by copying a xml file to the deploy directory, then the deployer does not run this with proper security. So the Karaf RBAC will deny the Apache Camel plugin to query the Camel routes to gather performance counters. As deploying by using plain XML files is not recommended, then it works by using a deployment unit as a proper OSGi bundle such as a JAR or KAR file.
+
+
+#### The tree keeps refreshing making the UI sluggish
+
+The reason is that there is something running in the JVM that keeps modifying the JMX tree, such as repeativily adding/removing same set of MBeans. For example Apache ActiveMQ does that when a JMS Client has been mis configured or configured without a connection pool. Because of no connection pool, then ActiveMQ JMS client creates a new connection, uses and closes the connection, and repeat that. As a net result of that, the MBean tree keeps being modified, which causes Hawtio to trigger a tree refresh. To resolve this use connection pooling with ActiveMQ - which you should always do. For an example see [issue 1903](https://github.com/hawtio/hawtio/issues/1903) for more details and how to resolve that.
+
+
+### Plugin Questions
+
+Questions on using the available plugins:
+
+#### What plugins are available?
+
+See the list of [hawtio plugins](http://hawt.io/plugins/index.html)
+
+#### What is a plugin?
+
+See [How Plugins Work](http://hawt.io/plugins/howPluginsWork.html)
+
+
+#### Why does the OSGi tab not appear on GlassFish?
+
+This is a [reported issue](https://github.com/hawtio/hawtio/issues/158). It turns out that the standard OSGi MBeans (in the osgi.core domain) are not installed by default on GlassFish.
+
+The workaround is to install the [Gemini Management bundle](http://www.eclipse.org/gemini/management/) then you should see the MBeans in the osgi.core domain in the JMX tree; then the OSGi tab should appear!
+
+
+### Camel Questions
+
+Questions on using [Apache Camel](http://camel.apache.org/) and hawtio.
+
+#### The Camel plugin is not visible or does not show any Camels
+
+The Camel plugin currently requires that the Camel MBeans are stored using the default domain name which is `org.apache.camel`. So if you configure Camel to use a different name, using the `mbeanObjectDomainName` configuration, then the Camel plugin will not work. See details reported in ticket [1712](https://github.com/hawtio/hawtio/issues/1712).
+
+#### Why does the Debug or Trace tab not appear for my Camel route?
+
+The Debug and Trace tabs depend on the JMX MBeans provided by the Camel release you use.
+
+* the Debug tab requires at least version 2.12.x or later of your Camel library to be running
+* the Trace tab requires either a 2.12.x or later distro of Camel or a Fuse distro of Camel from about 2.8 or later
+
+
+### Developer Questions
+
+Questions on writing new plugins or hacking on existing ones:
+
+#### How do I build the project?
+
+If you just want to run hawtio in a JVM then please see the [Getting Started](http://hawt.io/getstarted/index.html) section.
+
+If you want to hack the source code then check out [how to build hawtio](http://hawt.io/building/index.html).
+
+#### What code conventions do you have?
+
+Check out the [Coding Conventions](https://github.com/hawtio/hawtio/blob/master/docs/CodingConventions.md) for our recommended approach.
+
+#### What can my new plugin do?
+
+Anything you like :). So long as it runs on a web browser, you're good to go. Please start [contributing](http://hawt.io/contributing/index.html)!
+
+#### Do I have to use TypeScript?
+
+You can write hawtio plugins in anything that runs in a browser and ideally compiles to JavaScript. So use pure JavaScript, CoffeeScript, EcmaScript6-transpiler, TypeScript, GWT, Kotlin, Ceylon, ClojureScript, ScalaJS and [any language that compiles to JavaScript](https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS).
+
+So take your pick; the person who creates a plugin can use whatever language they prefer, so please contribute a [new plugin](http://hawt.io/contributing/index.html) :).
+
+The only real APIs a plugin needs to worry about are AngularJS (if you want to work in the core layout rather than just be an iframe), JSON (for some pretty trivial extension points such as adding new tabs), HTML and CSS.
+
+#### How can I add my new plugin?
+
+Check out [how plugins work](http://hawt.io/plugins/index.html). You can then either:
+
+* Fork this project and submit your plugin by [creating a Github pull request](https://help.github.com/articles/creating-a-pull-request) then we'll include your plugin by default in the hawtio distribution.
+* Make your own WAR with your plugin added (by depending on the hawtio-web.war in your pom.xml)
+* Host your plugin at some canonical website (e.g. with Github pages) then [submit an issue](https://github.com/hawtio/hawtio/issues?state=open) to tell us about it and we can add it to the plugin registry JSON file.
+
+#### How can I reuse those awesome AngularJS directives in my application?
+
+We hope that folks can just write plugins for hawtio to be able to reuse all the various [plugins](http://hawt.io/plugins/index.html) in hawtio.
+
+However if you are writing your own stand alone web application using AngularJS then please check out the [Hawtio Directives](http://hawt.io/directives/) which you should be able to reuse in any AngularJS application
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/LICENSE.txt" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/LICENSE.txt"
new file mode 100755
index 0000000..7a4a3ea
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/LICENSE.txt"
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
\ No newline at end of file
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/README.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/README.md"
new file mode 100755
index 0000000..8640ad3
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/README.md"
@@ -0,0 +1,33 @@
+![hawtio][logo]
+
+[](https://circleci.com/gh/hawtio/hawtio)
+
+Don't cha wish your console was [hawt like me?](http://www.youtube.com/watch?v=YNSxNsr4wmA) I'm hawt so you can stay cool
+
+**[hawtio](http://hawt.io)** is a lightweight and [modular](http://hawt.io/docs/plugins/) HTML5 web console with [lots of plugins](http://hawt.io/docs/plugins/) for managing your Java stuff
+
+[View Demos](http://hawt.io/docs/articles/)
+[Get Started Now!](http://hawt.io/docs/get-started/)
+
+**hawtio** has [lots of plugins](http://hawt.io/docs/plugins/) such as: a git-based Dashboard and Wiki, [logs](http://hawt.io/plugins/logs/index.html), [health](http://hawt.io/plugins/health/index.html), JMX, OSGi, [Apache ActiveMQ](http://activemq.apache.org/), [Apache Camel](http://camel.apache.org/), [Apache OpenEJB](http://openejb.apache.org/), [Apache Tomcat](http://tomcat.apache.org/), [Jetty](http://www.eclipse.org/jetty/), [JBoss](http://www.jboss.org/jbossas) and [Fuse Fabric](http://fuse.fusesource.org/fabric/)
+
+You can dynamically [extend hawtio with your own plugins](http://hawt.io/docs/plugins/) or automatically [discover plugins](http://hawt.io/docs/plugins/) inside the JVM.
+
+The only server side dependency (other than the static HTML/CSS/JS/images) is the excellent [Jolokia library](http://jolokia.org) which has small footprint (around 300Kb) and is available as a [JVM agent](http://jolokia.org/agent/jvm.html), or comes embedded as a servlet inside the **hawtio-default.war** or can be deployed as [an OSGi bundle](http://jolokia.org/agent/osgi.html).
+
+
+## Want to hack on some code?
+
+We love [contributions](http://hawt.io/docs/contributing/)!
+
+* [Articles and Demos](http://hawt.io/docs/articles/)
+* [FAQ](http://hawt.io/docs/faq/)
+* [Change Log](CHANGES.md)
+* [How to contribute](http://hawt.io/docs/contributing/)
+* [How to build the code](BUILDING.md)
+* [How to get started working on the code](DEVELOPERS.md)
+* [Community](http://hawt.io/community/)
+
+Check out our [huboard](https://huboard.com/hawtio/hawtio#/) for prioritizing issues.
+
+[logo]: http://hawt.io/images/hawtio_logo.svg "hawtio"
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bin/release" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bin/release"
new file mode 100755
index 0000000..cd5199b
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bin/release"
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+if [ -z $2 ]; then
+ echo "Usage: `basename $0` [path to m2 settings file]"
+ exit
+fi
+
+RELEASE_VERSION=$1
+SNAPSHOT_VERSION=$2
+M2_SETTINGS=${3:-$HOME/.m2/settings.xml}
+
+echo ============================================================================
+echo Building version $RELEASE_VERSION
+echo ============================================================================
+
+mvn -s $M2_SETTINGS \
+ org.apache.maven.plugins:maven-release-plugin:2.5:prepare \
+ -Prelease \
+ -Dtag=hawtio-$RELEASE_VERSION \
+ -DreleaseVersion=$RELEASE_VERSION \
+ -DdevelopmentVersion=$SNAPSHOT_VERSION
+
+mvn -s $M2_SETTINGS \
+ org.apache.maven.plugins:maven-release-plugin:2.5:perform -Prelease
+
+git push --tags
+
+REPO_ID=$(mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.5:rc-list -DserverId=oss-sonatype-staging -DnexusUrl=https://oss.sonatype.org | grep OPEN | grep -Eo 'iohawt-[[:digit:]]+')
+echo ============================================================================
+echo REPO_ID = $REPO_ID
+echo ============================================================================
+
+mvn -s $M2_SETTINGS \
+ org.sonatype.plugins:nexus-staging-maven-plugin:1.6.5:rc-close \
+ -DserverId=oss-sonatype-staging \
+ -DnexusUrl=https://oss.sonatype.org \
+ -DstagingRepositoryId=$REPO_ID \
+ -Ddescription="$RELEASE_VERSION is ready" \
+ -DstagingProgressTimeoutMinutes=60
+
+mvn -s $M2_SETTINGS \
+ org.sonatype.plugins:nexus-staging-maven-plugin:1.6.5:rc-release \
+ -DserverId=oss-sonatype-staging \
+ -DnexusUrl=https://oss.sonatype.org \
+ -DstagingRepositoryId=$REPO_ID \
+ -Ddescription="$RELEASE_VERSION is ready" \
+ -DstagingProgressTimeoutMinutes=60
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bom/pom.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bom/pom.xml"
new file mode 100755
index 0000000..fec98bd
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/bom/pom.xml"
@@ -0,0 +1,111 @@
+
+
+ 4.0.0
+
+
+ io.hawt
+ project
+ 2.5.0
+
+
+ hawtio-bom
+ pom
+ ${project.artifactId}
+ hawtio :: BOM
+
+
+
+
+ io.hawt
+ hawtio-app
+ ${project.version}
+
+
+ io.hawt
+ hawtio-base
+ ${project.version}
+
+
+ io.hawt
+ hawtio-console-assembly
+ ${project.version}
+
+
+ io.hawt
+ hawtio-core
+ ${project.version}
+
+
+ io.hawt
+ hawtio-default
+ ${project.version}
+
+
+ io.hawt
+ hawtio-embedded
+ ${project.version}
+
+
+ io.hawt
+ hawtio-ide
+ ${project.version}
+
+
+ io.hawt
+ hawtio-karaf
+ ${project.version}
+
+
+ io.hawt
+ hawtio-log
+ ${project.version}
+
+
+ io.hawt
+ hawtio-log-osgi
+ ${project.version}
+
+
+ io.hawt
+ hawtio-local-jvm-mbean
+ ${project.version}
+
+
+ io.hawt
+ hawtio-osgi-jmx
+ ${project.version}
+
+
+ io.hawt
+ hawtio-springboot
+ ${project.version}
+
+
+ io.hawt
+ hawtio-springboot-1
+ ${project.version}
+
+
+ io.hawt
+ hawtio-system
+ ${project.version}
+
+
+ io.hawt
+ hawtio-util
+ ${project.version}
+
+
+ io.hawt
+ hawtio-war
+ ${project.version}
+
+
+ io.hawt
+ hawtio-wildfly
+ ${project.version}
+
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/README.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/README.md"
new file mode 100755
index 0000000..71d827f
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/README.md"
@@ -0,0 +1,171 @@
+# Hawtio integration with Keycloak
+
+Hawtio's Keycloak integration is provided through [hawtio-oauth](https://github.com/hawtio/hawtio-oauth).
+
+Those steps assume that you want your Hawtio console to be secured by [Keycloak](http://www.keycloak.org). Integration consists of 2 main steps:
+
+1. Prepare Keycloak server
+2. Deploy Hawtio to your favourite server (Spring Boot, WildFly, Karaf, Jetty, Tomcat, Red Hat Fuse, ...) and configure it to use Keycloak for authentication
+
+
+## Table of contents
+
+1. [Prepare Keycloak server](#prepare-keycloak-server)
+2. [Apache Karaf or Red Hat Fuse](#apache-karaf-or-red-hat-fuse)
+3. [WildFly or JBoss EAP](#wildfly-or-jboss-eap)
+4. [Jetty](#jetty)
+5. [Tomcat](#tomcat)
+
+
+## Prepare Keycloak server
+
+1. Install and run Keycloak server. The easiest way is to use [Docker image](https://hub.docker.com/r/jboss/keycloak/):
+
+ $ docker run -d -p 18080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin --name keycloak jboss/keycloak
+
+ Here we use port number `18080` for Keycloak server to avoid conflict with the default port number of most application servers.
+
+2. Import [hawtio-demo-realm.json](https://github.com/hawtio/hawtio-oauth/blob/master/test-plugins/hawtio-demo-realm.json) into your Keycloak. To do that, go to the Keycloak admin console (http://localhost:18080/auth/admin/) and select "Add realm" and then select the JSON file. It creates `hawtio-demo` realm.
+
+`hawtio-demo` realm has `hawtio-client` application installed as public client. There are a couple of realm roles like `admin` and `viewer`. Names of these roles are the same as default Hawtio roles, which are allowed to login into Hawtio admin console and to JMX.
+
+There are also 3 users:
+
+* `admin` with password `admin` and role `admin`, who is allowed to login into Hawtio
+* `viewer` with password `viewer` and role `viewer`, who is allowed to login into Hawtio
+* `jdoe` with password `password` and no role assigned, who is not allowed to login into Hawtio
+
+
+## Apache Karaf or Red Hat Fuse
+
+Assume `$KARAF_HOME` is the root directory of your Karaf/Fuse installation.
+
+* Run Karaf/Fuse:
+
+ cd $KARAF_HOME/bin
+ ./karaf
+
+ Replace `./karaf` with `./fuse` if you are on Red Hat Fuse.
+
+* Install Hawtio:
+
+ feature:add-repo hawtio 2.0-beta-2
+ feature:install hawtio
+
+* Install [pax-keycloak](https://github.com/ops4j/org.ops4j.pax.keycloak):
+
+ feature:add-repo pax-keycloak
+ feature:install pax-keycloak
+
+ This automatically generates `keycloak-hawtio.json`, `keycloak-bearer.json`, and `keycloak-direct-access.json` files under `$KARAF_HOME/etc/`. It also updates `$KARAF_HOME/etc/system.properties` with the following system properties:
+
+ # Hawtio / Keycloak integration
+ hawtio.keycloakEnabled = true
+ hawtio.roles = admin,manager,viewer
+ hawtio.realm = karaf
+ hawtio.keycloakClientConfig = file://${karaf.etc}/keycloak-hawtio.json
+ hawtio.rolePrincipalClasses=org.keycloak.adapters.jaas.RolePrincipal,org.apache.karaf.jaas.boot.principal.RolePrincipal
+
+* Replace them with [keycloak-hawtio.json](keycloak-hawtio.json), [keycloak-bearer.json](keycloak-bearer.json), and [keycloak-direct-access.json](keycloak-direct-access.json) in this example. File `keycloak-bearer.json` is currently used for adapters on server (JAAS Login module) side. File `keycloak-hawtio.json` is used on client (Hawtio JS application) side. File `keycloak-direct-access.json` is not used but the realm name needs to be updated.
+
+ cp examples/keycloak-integration/keycloak-hawtio.json $KARAF_HOME/etc/
+ cp examples/keycloak-integration/keycloak-bearer.json $KARAF_HOME/etc/
+ cp examples/keycloak-integration/keycloak-direct-access.json $KARAF_HOME/etc/
+
+* Restart Karaf/Fuse.
+
+* Go to http://localhost:8181/hawtio and login to Keycloak as `admin` or `viewer` to see Hawtio admin console. If you login as `jdoe`, you should receive "forbidden" error in Hawtio.
+
+
+## WildFly or JBoss EAP
+
+Assume `$JBOSS_HOME` is the root directory of your WildFly/JBoss EAP installation and you deployed Hawtio WAR to it as described in [hawtio Get Started](http://hawt.io/getstarted/index.html).
+
+* Install Keycloak adapter subsystem to your WildFly as described on: http://www.keycloak.org/docs/3.4/securing_apps/index.html#_jboss_adapter
+
+* Download and copy [keycloak-hawtio.json](keycloak-hawtio.json) and [keycloak-bearer.json](keycloak-bearer.json) into WildFly. File `keycloak-bearer.json` is currently used for adapters on server (JAAS Login module) side. File `keycloak-hawtio.json` is used on client (Hawtio JS application) side.
+
+ cp examples/keycloak-integration/keycloak-hawtio.json $JBOSS_HOME/standalone/configuration/
+ cp examples/keycloak-integration/keycloak-bearer.json $JBOSS_HOME/standalone/configuration/
+
+* In `$JBOSS_HOME/standalone/configuration/standalone.xml` configure system properties like this:
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+ Also add `hawtio` realm to this file in `` section:
+
+
+
+
+
+
+
+
+
+* Add the `` section to the `keycloak` subsystem in `$JBOSS_HOME/standalone/configuration/standalone.xml`. It should ensure that Hawtio WAR is able to find the JAAS login modules.
+
+
+
+ does-not-matter
+ does-not-matter
+
+
+
+* Run WildFly on port `8080` and go to http://localhost:8080/hawtio. Users are again `admin` and `viewer` with access and `jdoe` without access.
+
+
+## Jetty
+
+Assume `$JETTY_HOME` is the root directory of your Jetty installation and you deployed Hawtio WAR to Jetty as described in [hawtio Get Started](http://hawt.io/getstarted/index.html).
+
+* Install Keycloak Jetty adapter into your Jetty server as described on: http://www.keycloak.org/docs/3.4/securing_apps/index.html#_jetty9_adapter
+
+* Download and copy [keycloak-hawtio.json](keycloak-hawtio.json) and [keycloak-bearer.json](keycloak-bearer.json) into Jetty. File `keycloak-bearer.json` is currently used for adapters on server (JAAS Login module) side. File `keycloak-hawtio.json` is used on client (Hawtio JS application) side.
+
+ cp examples/keycloak-integration/keycloak-hawtio.json $JETTY_HOME/etc/
+ cp examples/keycloak-integration/keycloak-bearer.json $JETTY_HOME/etc/
+
+* Create file `$JETTY_HOME/etc/login.conf` with the content like this:
+
+ hawtio {
+ org.keycloak.adapters.jaas.BearerTokenLoginModule required
+ keycloak-config-file="${hawtio.keycloakServerConfig}";
+ };
+
+* Export `JETTY_HOME` in your terminal. For example:
+
+ export JETTY_HOME=/mydir/jetty-distribution-9.x.x
+
+* Export `JAVA_OPTIONS` and add all necessary system properties similarly like this:
+
+ export JAVA_OPTIONS="-Dhawtio.authenticationEnabled=true \
+ -Dhawtio.realm=hawtio \
+ -Dhawtio.keycloakEnabled=true \
+ -Dhawtio.roles=admin,manager,viewer \
+ -Dhawtio.rolePrincipalClasses=org.keycloak.adapters.jaas.RolePrincipal \
+ -Dhawtio.keycloakClientConfig=$JETTY_HOME/etc/keycloak-hawtio.json \
+ -Dhawtio.keycloakServerConfig=$JETTY_HOME/etc/keycloak-bearer.json \
+ -Djava.security.auth.login.config=$JETTY_HOME/etc/login.conf"
+
+* Run Jetty and go to http://localhost:8080/hawtio. Users are again `admin` and `viewer` with access and `jdoe` without access.
+
+
+## Tomcat
+
+Instructions are quite similar to Jetty. You would need to setup JAAS realm and set the system properties. Just use Tomcat adapter instead of the Jetty one. Also you may need to add this system property (really empty value):
+
+ -Dhawtio.authenticationContainerDiscoveryClasses=
+
+This is needed, so that Tomcat will use configured JAAS realm with `BearerTokenLoginModule` instead of `tomcat-users.xml` file, which Hawtio uses on Tomcat by default.
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-bearer.json" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-bearer.json"
new file mode 100755
index 0000000..c488a52
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-bearer.json"
@@ -0,0 +1,9 @@
+{
+ "realm": "hawtio-demo",
+ "resource": "jaas",
+ "bearer-only": true,
+ "auth-server-url": "http://localhost:18080/auth",
+ "ssl-required": "external",
+ "use-resource-role-mappings": false,
+ "principal-attribute": "preferred_username"
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-direct-access.json" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-direct-access.json"
new file mode 100755
index 0000000..07e2b0f
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-direct-access.json"
@@ -0,0 +1,9 @@
+{
+ "realm": "hawtio-demo",
+ "resource": "ssh-jmx-admin-client",
+ "ssl-required": "external",
+ "auth-server-url": "http://localhost:18080/auth",
+ "credentials": {
+ "secret": "password"
+ }
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-hawtio.json" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-hawtio.json"
new file mode 100755
index 0000000..24b0ac6
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/keycloak-hawtio.json"
@@ -0,0 +1,5 @@
+{
+ "url": "http://localhost:18080/auth",
+ "realm": "hawtio-demo",
+ "clientId": "hawtio-client"
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/login.conf" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/login.conf"
new file mode 100755
index 0000000..3a20549
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/login.conf"
@@ -0,0 +1,4 @@
+hawtio {
+ org.keycloak.adapters.jaas.BearerTokenLoginModule required
+ keycloak-config-file="${hawtio.keycloakServerConfig}";
+};
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/run-hawtio.sh" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/run-hawtio.sh"
new file mode 100755
index 0000000..76845ac
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/keycloak-integration/run-hawtio.sh"
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+if [ -z $1 ]; then
+ echo "Usage:"
+ echo " ./run-hawtio.sh "
+ exit 1
+fi
+
+HOME=`cd $(dirname $0); pwd`
+
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.authenticationEnabled=true"
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.realm=hawtio"
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.keycloakEnabled=true"
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.roles=admin,manager,viewer"
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.rolePrincipalClasses=org.keycloak.adapters.jaas.RolePrincipal"
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.keycloakClientConfig=$HOME/keycloak-hawtio.json"
+JAVA_OPTS="$JAVA_OPTS -Dhawtio.keycloakServerConfig=$HOME/keycloak-bearer.json"
+JAVA_OPTS="$JAVA_OPTS -Djava.security.auth.login.config=$HOME/login.conf"
+
+echo =========================================================================
+echo
+echo " hawtio integration with Keycloak"
+echo
+echo " java $JAVA_OPTS -jar $*"
+echo
+echo =========================================================================
+java $JAVA_OPTS -jar $*
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/README.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/README.md"
new file mode 100755
index 0000000..1afb4dc
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/README.md"
@@ -0,0 +1,11 @@
+# Hawtio Spring boot 1 Authentication Example
+
+Sample application for Hawtio + Spring Boot 1 with authentication enabled.
+
+Run with
+
+ mvn spring-boot:run
+
+Browse Hawtio using the url: http://localhost:10001/hawtio/index.html
+
+Log in with user: `hawtio` password: `hawtio`
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/pom.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/pom.xml"
new file mode 100755
index 0000000..3400b7e
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/pom.xml"
@@ -0,0 +1,103 @@
+
+
+
+ 4.0.0
+
+
+ io.hawt
+ project
+ 2.5.0
+ ../..
+
+
+ io.hawt.examples
+ hawtio-example-springboot-1-authentication
+ ${project.artifactId}
+ hawtio :: Sample Spring Boot 1.x process with authentication
+ war
+
+
+
+ 9.4.9.v20180320
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot1-version}
+ pom
+ import
+
+
+ io.hawt
+ hawtio-bom
+ ${project.version}
+ pom
+ import
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
+
+ org.eclipse.jetty
+ jetty-jaas
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-http
+
+
+ org.springframework.boot
+ spring-boot-actuator
+
+
+ io.hawt
+ hawtio-springboot-1
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot1-version}
+
+ io.hawt.example.spring.boot.SampleAuthenticationSpringBootService
+
+
+
+
+ repackage
+
+
+
+
+
+ maven-war-plugin
+
+ false
+
+
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/HelloController.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/HelloController.java"
new file mode 100755
index 0000000..3c6b7a8
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/HelloController.java"
@@ -0,0 +1,16 @@
+package io.hawt.example.spring.boot;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+public class HelloController {
+
+ @RequestMapping("/")
+ @ResponseBody
+ public String hello() {
+ return "Hello World!";
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/PropertyFileLoginModule.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/PropertyFileLoginModule.java"
new file mode 100755
index 0000000..5fcb1ee
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/PropertyFileLoginModule.java"
@@ -0,0 +1,108 @@
+package io.hawt.example.spring.boot;
+
+import org.eclipse.jetty.jaas.spi.AbstractLoginModule;
+import org.eclipse.jetty.jaas.spi.UserInfo;
+import org.eclipse.jetty.security.PropertyUserStore;
+import org.eclipse.jetty.server.UserIdentity;
+import org.eclipse.jetty.util.security.Credential;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.login.LoginException;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Sample PropertyFileLoginModule.
+ */
+public class PropertyFileLoginModule extends AbstractLoginModule {
+ public static final String DEFAULT_FILENAME = "realm.properties";
+
+ private static final Logger LOG = LoggerFactory.getLogger(PropertyFileLoginModule.class);
+ private static ConcurrentHashMap PROPERTY_USERSTORES = new ConcurrentHashMap<>();
+
+ private boolean hotReload = false;
+ private String filename = null;
+
+ /**
+ * Read contents of the configured property file.
+ *
+ * @param subject
+ * @param callbackHandler
+ * @param sharedState
+ * @param options
+ * @see javax.security.auth.spi.LoginModule#initialize(Subject, CallbackHandler, Map, Map)
+ */
+ @Override
+ public void initialize(final Subject subject, final CallbackHandler callbackHandler,
+ final Map sharedState, final Map options) {
+ super.initialize(subject, callbackHandler, sharedState, options);
+ setupPropertyUserStore(options);
+ }
+
+ private void setupPropertyUserStore(final Map options) {
+ parseConfig(options);
+
+ if (PROPERTY_USERSTORES.get(filename) == null) {
+ final PropertyUserStore propertyUserStore = new PropertyUserStore();
+ propertyUserStore.setConfig(filename);
+ propertyUserStore.setHotReload(hotReload);
+
+ final PropertyUserStore prev = PROPERTY_USERSTORES.putIfAbsent(filename, propertyUserStore);
+ if (prev == null) {
+ LOG.info("setupPropertyUserStore: Starting new PropertyUserStore. PropertiesFile: " + filename
+ + " hotReload: " + hotReload);
+
+ try {
+ propertyUserStore.start();
+ } catch (Exception e) {
+ LOG.warn("Exception while starting propertyUserStore: ", e);
+ }
+ }
+ }
+ }
+
+ private void parseConfig(final Map options) {
+ String tmp = (String) options.get("file");
+ filename = (tmp == null ? DEFAULT_FILENAME : tmp);
+ filename = System.getProperty("login.file", filename);
+ tmp = (String) options.get("hotReload");
+ hotReload = tmp == null ? hotReload : Boolean.parseBoolean(tmp);
+ }
+
+ @Override
+ public UserInfo getUserInfo(final String userName) {
+ final PropertyUserStore propertyUserStore = PROPERTY_USERSTORES.get(filename);
+ if (propertyUserStore == null) {
+ throw new IllegalStateException("PropertyUserStore should never be null here!");
+ }
+
+ LOG.trace("Checking PropertyUserStore " + filename + " for " + userName);
+ final UserIdentity userIdentity = propertyUserStore.getUserIdentity(userName);
+ if (userIdentity == null) {
+ return null;
+ }
+
+ final Set principals = userIdentity.getSubject().getPrincipals();
+ final List roles = new ArrayList<>();
+ for (final Principal principal : principals) {
+ roles.add(principal.getName());
+ }
+
+ final Credential credential = (Credential) userIdentity.getSubject().getPrivateCredentials().iterator().next();
+ LOG.trace("Found: " + userName + " in PropertyUserStore " + filename);
+ return new UserInfo(userName, credential, roles);
+ }
+
+ @Override
+ public boolean logout() throws LoginException {
+ return true;
+ }
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/SampleAuthenticationSpringBootService.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/SampleAuthenticationSpringBootService.java"
new file mode 100755
index 0000000..2a795ee
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/java/io/hawt/example/spring/boot/SampleAuthenticationSpringBootService.java"
@@ -0,0 +1,71 @@
+package io.hawt.example.spring.boot;
+
+import java.net.URL;
+
+import io.hawt.config.ConfigFacade;
+import io.hawt.springboot.HawtPlugin;
+import io.hawt.web.auth.AuthenticationConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class SampleAuthenticationSpringBootService {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SampleAuthenticationSpringBootService.class);
+ private static final String JAVA_SECURITY_AUTH_LOGIN_CONFIG = "java.security.auth.login.config";
+
+
+ public static void main(String[] args) {
+ System.setProperty(AuthenticationConfiguration.HAWTIO_AUTHENTICATION_ENABLED, "false");
+ SpringApplication.run(SampleAuthenticationSpringBootService.class, args);
+ }
+
+ /**
+ * Loading an example plugin.
+ */
+ @Bean
+ public HawtPlugin samplePlugin() {
+ return new HawtPlugin("sample-plugin", "plugins", "", new String[] { "sample-plugin/js/sample-plugin.js" });
+ }
+
+ /**
+ * Configure facade to use authentication.
+ *
+ * @return config
+ * @throws Exception if an error occurs
+ */
+ @Bean(initMethod = "init")
+ public ConfigFacade configFacade() throws Exception {
+
+ final URL loginResource = this.getClass().getClassLoader().getResource("login.conf");
+ if (loginResource != null) {
+ setSystemPropertyIfNotSet(JAVA_SECURITY_AUTH_LOGIN_CONFIG, loginResource.getFile());
+ }
+ LOG.info("Using loginResource " + JAVA_SECURITY_AUTH_LOGIN_CONFIG + " : " + System
+ .getProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG));
+
+ final URL loginFile = this.getClass().getClassLoader().getResource("realm.properties");
+ if (loginFile != null) {
+ setSystemPropertyIfNotSet("login.file", loginFile.getFile());
+ }
+ LOG.info("Using login.file : " + System.getProperty("login.file"));
+
+ setSystemPropertyIfNotSet(AuthenticationConfiguration.HAWTIO_ROLES, "admin");
+ setSystemPropertyIfNotSet(AuthenticationConfiguration.HAWTIO_REALM, "hawtio");
+ setSystemPropertyIfNotSet(AuthenticationConfiguration.HAWTIO_ROLE_PRINCIPAL_CLASSES, "org.eclipse.jetty.jaas.JAASRole");
+ if (!Boolean.getBoolean("debugMode")) {
+ System.setProperty(AuthenticationConfiguration.HAWTIO_AUTHENTICATION_ENABLED, "true");
+ }
+ return new ConfigFacade();
+ }
+
+ private void setSystemPropertyIfNotSet(final String key, final String value) {
+ if (System.getProperty(key) == null) {
+ System.setProperty(key, value);
+ }
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/application.properties" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/application.properties"
new file mode 100755
index 0000000..4379ceb
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/application.properties"
@@ -0,0 +1,10 @@
+server.port = 10000
+management.port = 10001
+
+endpoints.jolokia.sensitive = false
+endpoints.hawtio.sensitive = false
+
+logging.level.io.hawt = INFO
+logging.level.org.springframework = WARN
+logging.level.io.undertow = WARN
+logging.level.org.eclipse.jetty = WARN
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/banner.txt" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/banner.txt"
new file mode 100755
index 0000000..e832f57
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/banner.txt"
@@ -0,0 +1,9 @@
+ _______________________________
+/ Hawtio SpringBoot Sample With \
+\ Authentication /
+ -------------------------------
+ \ ^__^
+ \ (oo)\_______
+ (__)\ )\/\
+ ||----w |
+ || ||
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/jolokia-access.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/jolokia-access.xml"
new file mode 100755
index 0000000..d714f34
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/jolokia-access.xml"
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read
+ write
+ exec
+ list
+ version
+ search
+
+
+
+
+
+
+
+
+
+ com.mchange.v2.c3p0:type=PooledDataSource,*
+ properties
+
+
+
+
+
+
+ *
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/login.conf" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/login.conf"
new file mode 100755
index 0000000..6c4cfc1
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/login.conf"
@@ -0,0 +1,3 @@
+hawtio {
+ io.hawt.example.spring.boot.PropertyFileLoginModule required;
+};
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/realm.properties" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/realm.properties"
new file mode 100755
index 0000000..77055d3
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/resources/realm.properties"
@@ -0,0 +1,7 @@
+#
+# Hash generated with:
+# java -cp ~/.m2/repository/org/eclipse/jetty/jetty-util/9.2.11.v20150529/jetty-util-9.2.11.v20150529.jar org.eclipse.jetty.util.security.Password hawtio hawtio
+#
+
+hawtio: MD5:2d3c8a35f1d0c2a1a6ff1dc4ba221476,user,admin
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/html/sample-plugin.html" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
new file mode 100755
index 0000000..d76f916
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
@@ -0,0 +1,8 @@
+
+
+
+
Demo Page
+
{{message}}
+
+
+
\ No newline at end of file
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
new file mode 100755
index 0000000..928c6f0
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
@@ -0,0 +1,41 @@
+var SamplePlugin = (function(SamplePlugin) {
+
+ SamplePlugin.pluginName = 'sample-plugin';
+ SamplePlugin.log = Logger.get('SamplePlugin');
+ SamplePlugin.contextPath = window.location.pathname.substr(0, window.location.pathname.lastIndexOf("/")) + "/plugins/";
+ SamplePlugin.templatePath = SamplePlugin.contextPath + "sample-plugin/html/";
+
+ SamplePlugin.module = angular.module('sample-plugin', ['hawtioCore'])
+ .config(function($routeProvider) {
+ $routeProvider.
+ when('/sample-plugin', {
+ templateUrl: SamplePlugin.templatePath + 'sample-plugin.html'
+ });
+ });
+
+ SamplePlugin.module.run(function(workspace, viewRegistry, layoutFull) {
+
+ SamplePlugin.log.info(SamplePlugin.pluginName, " loaded");
+ viewRegistry["sample-plugin"] = layoutFull;
+ workspace.topLevelTabs.push({
+ id: "samplePlugin",
+ content: "Sample Plugin",
+ title: "Sample plugin loaded dynamically",
+ isValid: function(workspace) { return true; },
+ href: function() { return "#/sample-plugin"; },
+ isActive: function(workspace) { return workspace.isLinkActive("sample-plugin"); }
+
+ });
+
+ });
+
+ SamplePlugin.SamplePluginController = function($scope, jolokia) {
+ $scope.message = "hello world";
+ Core.$apply($scope);
+ };
+
+ return SamplePlugin;
+
+})(SamplePlugin || {});
+
+hawtioPluginLoader.addModule(SamplePlugin.pluginName);
\ No newline at end of file
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/README.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/README.md"
new file mode 100755
index 0000000..1da3fdb
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/README.md"
@@ -0,0 +1,32 @@
+# Hawtio Spring Boot 1 Example
+
+This sample application shows how to run Hawtio with Spring Boot 1.
+
+## How to run
+
+Run with:
+
+ mvn spring-boot:run
+
+Hawtio is exposed at the [Actuator](https://docs.spring.io/spring-boot/docs/1.5.x/reference/html/production-ready-endpoints.html) management port configured using
+`management.port` in `appplication.properties`. Browse Hawtio via the following URL: http://localhost:10001/hawtio/index.html
+
+The actual application is running on port 10000 (`server.port` in `application.properties`).
+
+## Alternative configurations
+
+Alternative ports and context path configurations can be tested by changing the following properties in `application.properties`:
+
+```
+server.port = 10000
+server.contextPath = /sample-app
+management.port = 10000
+management.contextPath = /management
+```
+
+Using the above configuration, the server will use port 10000 and the custom context path `sample-app`.
+The Actuator management endpoints and Hawtio will also run on port 10000 using the custom management context path `management`.
+The URLs for accessing the application and Hawtio are as follows:
+
+- Application: http://localhost:10000/sample-app/
+- Hawtio: http://localhost:10000/sample-app/management/hawtio
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/pom.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/pom.xml"
new file mode 100755
index 0000000..4fe7452
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/pom.xml"
@@ -0,0 +1,127 @@
+
+
+
+ 4.0.0
+
+
+ io.hawt
+ project
+ 2.5.0
+ ../..
+
+
+ io.hawt.examples
+ hawtio-example-springboot-1
+ ${project.artifactId}
+ hawtio :: Sample Spring Boot 1.x process
+ war
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot1-version}
+ pom
+ import
+
+
+ org.apache.camel
+ camel-spring-boot-dependencies
+ ${camel-2.21-version}
+ pom
+ import
+
+
+ io.hawt
+ hawtio-bom
+ ${project.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
+
+ io.undertow
+ undertow-websockets-jsr
+
+
+
+
+ org.springframework.boot
+ spring-boot-actuator
+
+
+
+
+ io.hawt
+ hawtio-springboot-1
+
+
+
+
+ org.apache.camel
+ camel-spring-boot-starter
+
+
+ org.apache.camel
+ camel-stream-starter
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot1-version}
+
+ io.hawt.example.spring.boot.SampleSpringBootService
+
+
+
+
+ repackage
+
+
+
+
+
+
+ maven-war-plugin
+
+ false
+
+
+
+
+
+ io.hawt
+ hawtio-maven-plugin
+ ${project.version}
+
+ io.hawt.example.spring.boot.SampleSpringBootService
+
+
+
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/HelloController.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/HelloController.java"
new file mode 100755
index 0000000..3c6b7a8
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/HelloController.java"
@@ -0,0 +1,16 @@
+package io.hawt.example.spring.boot;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+public class HelloController {
+
+ @RequestMapping("/")
+ @ResponseBody
+ public String hello() {
+ return "Hello World!";
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java"
new file mode 100755
index 0000000..afe8d31
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java"
@@ -0,0 +1,17 @@
+package io.hawt.example.spring.boot;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SampleCamelRouter extends RouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+ from("timer:hello?period={{timer.period}}")
+ .setBody().constant("Hello Camel!")
+ .to("stream:out")
+ .to("mock:result");
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java"
new file mode 100755
index 0000000..0a74cba
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java"
@@ -0,0 +1,41 @@
+package io.hawt.example.spring.boot;
+
+import io.hawt.config.ConfigFacade;
+import io.hawt.springboot.HawtPlugin;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class SampleSpringBootService extends SpringBootServletInitializer {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SampleSpringBootService.class, args);
+ }
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(SampleSpringBootService.class);
+ }
+
+ /**
+ * Loading an example plugin.
+ */
+ @Bean
+ public HawtPlugin samplePlugin() {
+ return new HawtPlugin("sample-plugin",
+ "plugins",
+ "",
+ new String[] { "sample-plugin/js/sample-plugin.js" });
+ }
+
+ /**
+ * Set things up to be in offline mode.
+ */
+ @Bean
+ public ConfigFacade configFacade() {
+ return ConfigFacade.getSingleton();
+ }
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/application.properties" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/application.properties"
new file mode 100755
index 0000000..5af461b
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/application.properties"
@@ -0,0 +1,15 @@
+server.port = 10000
+management.port = 10001
+
+endpoints.jolokia.sensitive = false
+endpoints.hawtio.sensitive = false
+
+logging.level.io.hawt = INFO
+logging.level.org.springframework = WARN
+logging.level.io.undertow = WARN
+
+camel.springboot.name = SampleCamel
+timer.period = 10000
+
+hawtio.authenticationEnabled = false
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/banner.txt" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/banner.txt"
new file mode 100755
index 0000000..3770eff
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/resources/banner.txt"
@@ -0,0 +1,8 @@
+ __________________________
+< Hawtio SpringBoot Sample >
+ --------------------------
+ \ ^__^
+ \ (oo)\_______
+ (__)\ )\/\
+ ||----w |
+ || ||
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/webapp/app/sample-plugin/html/sample-plugin.html" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
new file mode 100755
index 0000000..d76f916
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-1/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
new file mode 100755
index 0000000..928c6f0
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot-authentication/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
@@ -0,0 +1,41 @@
+var SamplePlugin = (function(SamplePlugin) {
+
+ SamplePlugin.pluginName = 'sample-plugin';
+ SamplePlugin.log = Logger.get('SamplePlugin');
+ SamplePlugin.contextPath = window.location.pathname.substr(0, window.location.pathname.lastIndexOf("/")) + "/plugins/";
+ SamplePlugin.templatePath = SamplePlugin.contextPath + "sample-plugin/html/";
+
+ SamplePlugin.module = angular.module('sample-plugin', ['hawtioCore'])
+ .config(function($routeProvider) {
+ $routeProvider.
+ when('/sample-plugin', {
+ templateUrl: SamplePlugin.templatePath + 'sample-plugin.html'
+ });
+ });
+
+ SamplePlugin.module.run(function(workspace, viewRegistry, layoutFull) {
+
+ SamplePlugin.log.info(SamplePlugin.pluginName, " loaded");
+ viewRegistry["sample-plugin"] = layoutFull;
+ workspace.topLevelTabs.push({
+ id: "samplePlugin",
+ content: "Sample Plugin",
+ title: "Sample plugin loaded dynamically",
+ isValid: function(workspace) { return true; },
+ href: function() { return "#/sample-plugin"; },
+ isActive: function(workspace) { return workspace.isLinkActive("sample-plugin"); }
+
+ });
+
+ });
+
+ SamplePlugin.SamplePluginController = function($scope, jolokia) {
+ $scope.message = "hello world";
+ Core.$apply($scope);
+ };
+
+ return SamplePlugin;
+
+})(SamplePlugin || {});
+
+hawtioPluginLoader.addModule(SamplePlugin.pluginName);
\ No newline at end of file
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/README.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/README.md"
new file mode 100755
index 0000000..d045f41
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/README.md"
@@ -0,0 +1,50 @@
+# Hawtio Spring Boot 2 Example
+
+This sample application shows how to run Hawtio with Spring Boot 2.
+
+## How to run
+
+Run with:
+
+ mvn spring-boot:run
+
+Hawtio is exposed at the [Actuator](https://docs.spring.io/spring-boot/docs/latest/reference/html/production-ready-endpoints.html) management port configured using
+`management.server.port` in `appplication.properties`. Browse Hawtio via the following URL: http://localhost:10001/actuator/hawtio/index.html
+
+The actual application is running on port 10000 (`server.port` in `application.properties`).
+
+## Alternative configurations
+
+### Alternative management endpoint base paths
+If your preference is to avoid running Hawtio under the `/actuator` path, you can set the `management.endpoints.web.base-path` property in `application.properties`:
+
+```
+management.endpoints.web.base-path=/
+```
+
+Hawtio will then be available at http://localhost:10001/hawtio/index.html.
+
+### Alternative hawtio endpoint paths
+
+You can also customize the endpoint path of the Hawtio actuator endpoint by setting the `management.endpoints.web.path-mapping.hawtio` property in `application.properties`:
+
+```
+management.endpoints.web.path-mapping.hawtio=hawtio/console
+```
+
+### Alternative ports & context paths
+Alternative ports and context path configurations can be tested by changing the following properties in `application.properties`:
+
+```
+server.port=10000
+server.servlet.context-path=/sample-app
+management.port=10000
+management.server.servlet.context-path=/management
+```
+
+Using the above configuration, the server will use port 10000 and the custom context path `sample-app`.
+The Actuator management endpoints and Hawtio will also run on port 10000 using the custom management context path `management`.
+The URLs for accessing the application and Hawtio are as follows:
+
+- Application: http://localhost:10000/sample-app/
+- Hawtio: http://localhost:10000/sample-app/management/actuator/hawtio
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/jmx-exporter.yml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/jmx-exporter.yml"
new file mode 100755
index 0000000..02df234
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/jmx-exporter.yml"
@@ -0,0 +1,6 @@
+startDelaySecs: 5
+ssl: false
+lowercaseOutputName: true
+lowercaseOutputLabelNames: true
+blacklistObjectNames: ["java.lang:*"]
+attrNameSnakeCase: true
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/pom.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/pom.xml"
new file mode 100755
index 0000000..6a453de
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/pom.xml"
@@ -0,0 +1,157 @@
+
+
+
+ 4.0.0
+
+
+ io.hawt
+ project
+ 2.5.0
+ ../..
+
+
+ io.hawt.examples
+ hawtio-example-springboot
+ ${project.artifactId}
+ hawtio :: Sample Spring Boot 2.x process
+ war
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot-version}
+ pom
+ import
+
+
+ org.apache.camel
+ camel-spring-boot-dependencies
+ ${camel-version}
+ pom
+ import
+
+
+ io.hawt
+ hawtio-bom
+ ${project.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
+
+ io.undertow
+ undertow-websockets-jsr
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.hawt
+ hawtio-springboot
+
+
+
+
+ org.apache.camel
+ camel-spring-boot-starter
+
+
+ org.apache.camel
+ camel-stream-starter
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot-version}
+
+ io.hawt.example.spring.boot.SampleSpringBootService
+
+ -javaagent:./target/dependency/jmx_prometheus_javaagent.jar=10002:./jmx-exporter.yml
+
+
+
+
+
+ repackage
+
+
+
+
+
+
+ maven-war-plugin
+
+ false
+
+
+
+
+
+ io.hawt
+ hawtio-maven-plugin
+ ${project.version}
+
+ io.hawt.example.spring.boot.SampleSpringBootService
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.1.1
+
+
+ copy
+ compile
+
+ copy
+
+
+
+
+
+
+ io.prometheus.jmx
+ jmx_prometheus_javaagent
+ 0.3.1
+ jar
+ jmx_prometheus_javaagent.jar
+
+
+
+
+
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/HelloController.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/HelloController.java"
new file mode 100755
index 0000000..3c6b7a8
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/HelloController.java"
@@ -0,0 +1,16 @@
+package io.hawt.example.spring.boot;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+public class HelloController {
+
+ @RequestMapping("/")
+ @ResponseBody
+ public String hello() {
+ return "Hello World!";
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java"
new file mode 100755
index 0000000..afe8d31
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleCamelRouter.java"
@@ -0,0 +1,17 @@
+package io.hawt.example.spring.boot;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SampleCamelRouter extends RouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+ from("timer:hello?period={{timer.period}}")
+ .setBody().constant("Hello Camel!")
+ .to("stream:out")
+ .to("mock:result");
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java"
new file mode 100755
index 0000000..5c393f8
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/java/io/hawt/example/spring/boot/SampleSpringBootService.java"
@@ -0,0 +1,34 @@
+package io.hawt.example.spring.boot;
+
+import io.hawt.config.ConfigFacade;
+import io.hawt.springboot.HawtPlugin;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class SampleSpringBootService {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SampleSpringBootService.class, args);
+ }
+
+ /**
+ * Loading an example plugin.
+ */
+ @Bean
+ public HawtPlugin samplePlugin() {
+ return new HawtPlugin("sample-plugin",
+ "plugins",
+ "",
+ new String[] { "sample-plugin/js/sample-plugin.js" });
+ }
+
+ /**
+ * Set things up to be in offline mode.
+ */
+ @Bean
+ public ConfigFacade configFacade() {
+ return ConfigFacade.getSingleton();
+ }
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/application.properties" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/application.properties"
new file mode 100755
index 0000000..1be96ba
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/application.properties"
@@ -0,0 +1,12 @@
+server.port=10000
+management.server.port=10001
+
+management.endpoints.web.exposure.include=hawtio,jolokia
+
+logging.level.io.hawt=INFO
+logging.level.org.springframework=WARN
+logging.level.io.undertow=WARN
+
+camel.springboot.name=SampleCamel
+timer.period=10000
+hawtio.authenticationEnabled=false
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/banner.txt" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/banner.txt"
new file mode 100755
index 0000000..3770eff
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/resources/banner.txt"
@@ -0,0 +1,8 @@
+ __________________________
+< Hawtio SpringBoot Sample >
+ --------------------------
+ \ ^__^
+ \ (oo)\_______
+ (__)\ )\/\
+ ||----w |
+ || ||
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/html/sample-plugin.html" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
new file mode 100755
index 0000000..d76f916
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/html/sample-plugin.html"
@@ -0,0 +1,8 @@
+
+
+
+
Demo Page
+
{{message}}
+
+
+
\ No newline at end of file
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/js/sample-plugin.js" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
new file mode 100755
index 0000000..2b425eb
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/examples/springboot/src/main/webapp/app/sample-plugin/js/sample-plugin.js"
@@ -0,0 +1,41 @@
+var SamplePlugin = (function(SamplePlugin) {
+
+ SamplePlugin.pluginName = 'sample-plugin';
+ SamplePlugin.log = Logger.get('SamplePlugin');
+ SamplePlugin.contextPath = window.location.pathname.substr(0, window.location.pathname.lastIndexOf("/")) + "/plugins/";
+ SamplePlugin.templatePath = SamplePlugin.contextPath + "sample-plugin/html/";
+
+ SamplePlugin.module = angular.module('sample-plugin', ['hawtioCore'])
+ .config(function($routeProvider) {
+ $routeProvider.
+ when('/sample-plugin', {
+ templateUrl: SamplePlugin.templatePath + 'sample-plugin.html'
+ });
+ });
+
+ SamplePlugin.module.run(function(workspace, viewRegistry, layoutFull) {
+
+ SamplePlugin.log.info(SamplePlugin.pluginName, " loaded");
+ viewRegistry["sample-plugin"] = layoutFull;
+ workspace.topLevelTabs.push({
+ id: "samplePlugin",
+ content: "Sample Plugin",
+ title: "Sample plugin loaded dynamically",
+ isValid: function(workspace) { return true; },
+ href: function() { return "#/sample-plugin"; },
+ isActive: function(workspace) { return workspace.isLinkActive("sample-plugin"); }
+
+ });
+
+ });
+
+ SamplePlugin.SamplePluginController = function($scope, jolokia) {
+ $scope.message = "hello world";
+ Core.$apply($scope);
+ };
+
+ return SamplePlugin;
+
+})(SamplePlugin || {});
+
+hawtioPluginLoader.addModule(SamplePlugin.pluginName);
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/freenode.txt" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/freenode.txt"
new file mode 100755
index 0000000..d30573f
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/freenode.txt"
@@ -0,0 +1,2 @@
+skjCBPwx
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/README.md" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/README.md"
new file mode 100755
index 0000000..efff72d
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/README.md"
@@ -0,0 +1,21 @@
+# Hawtio executable JAR
+
+You can run hawtio on your machine using the hawtio-app executable JAR.
+
+Once you have built it, just run this from the command line:
+
+ java -jar hawtio-app-x.y.z.jar
+
+Note: If you launch Hawtio with Java 9, add the specified modules to avoid errors on startup and allow attaching to other Java processes:
+
+ java --add-modules jdk.attach,java.xml.bind -jar hawtio-app-x.y.z.jar
+
+The console should show you which URL to open, which by default is [http://localhost:8080/hawtio/](http://localhost:8080/hawtio/).
+
+To set a different port number, run:
+
+ java -jar hawtio-app-x.y.z.jar --port 8090
+
+To see the full list of configuration options, run:
+
+ java -jar hawtio-app-x.y.z.jar --help
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/pom.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/pom.xml"
new file mode 100755
index 0000000..ba72a1d
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/pom.xml"
@@ -0,0 +1,71 @@
+
+
+
+ io.hawt
+ project
+ 2.5.0
+
+
+ 4.0.0
+ hawtio-app
+ ${project.artifactId}
+ hawtio :: hawtio-app
+
+
+
+ io.hawt
+ hawtio-embedded
+ ${project.version}
+
+
+ io.hawt
+ hawtio-default
+ ${project.version}
+ war
+
+
+ org.keycloak
+ keycloak-jetty94-adapter
+ ${keycloak-version}
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j-version}
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j-version}
+
+
+
+
+
+
+ maven-assembly-plugin
+
+ false
+
+ src/main/assembly/assembly.xml
+
+
+
+ io.hawt.app.App
+
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/assembly/assembly.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/assembly/assembly.xml"
new file mode 100755
index 0000000..904bbf6
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/assembly/assembly.xml"
@@ -0,0 +1,52 @@
+
+
+ hawtio-app
+
+ jar
+
+ false
+
+
+ src/main/assembly
+
+
+ embedded.properties
+
+
+
+
+
+
+ true
+
+
+ io.hawt:hawtio-app
+ io.hawt:hawtio-embedded
+ org.eclipse.jetty:*
+ org.slf4j:*
+ javax.servlet:javax.servlet-api
+
+
+
+
+
+
+ hawtio.war
+
+ io.hawt:hawtio-default
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/java/io/hawt/app/App.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/java/io/hawt/app/App.java"
new file mode 100755
index 0000000..f12d793
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-app/src/main/java/io/hawt/app/App.java"
@@ -0,0 +1,160 @@
+/**
+ * Copyright (C) 2013 the original author or authors.
+ * See the notice.md file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.hawt.app;
+
+import java.awt.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URI;
+import java.net.URL;
+import java.util.HashSet;
+import java.util.Set;
+
+import io.hawt.embedded.Main;
+
+public class App {
+ private static final String WAR_FILENAME = "hawtio.war";
+ private static final int KB = 1024;
+
+ public static void main(String[] args) {
+
+ Object val = System.getProperty("hawtio.authenticationEnabled");
+ if (val == null) {
+ System.setProperty("hawtio.authenticationEnabled", "false");
+ }
+
+ Main main = new Main();
+
+ try {
+ String virtualMachineClass = "com.sun.tools.attach.VirtualMachine";
+ try {
+ loadClass(virtualMachineClass, App.class.getClassLoader(), Thread.currentThread().getContextClassLoader());
+ } catch (Exception e) {
+ // lets try find the tools.jar instead
+ Set paths = new HashSet<>();
+ String javaHome = System.getProperty("java.home", ".");
+ addPath(paths, javaHome);
+
+ // now lets try the JAVA_HOME environment variable just in case
+ javaHome = System.getenv("JAVA_HOME");
+ if (javaHome != null && javaHome.length() > 0) {
+ addPath(paths, javaHome);
+ }
+
+ boolean found = false;
+ for (String path : paths) {
+ File file = new File(path, "lib/tools.jar");
+ if (file.exists()) {
+ found = true;
+ String url = file.toURI().toURL().toString();
+ main.setExtraClassPath(url);
+ break;
+ }
+ }
+ if (!found) {
+ System.err.println(String.format(
+ "Failed to load class %s and find tools.jar in directories %s. %s",
+ virtualMachineClass, paths, e));
+ }
+ }
+
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ URL resource = classLoader.getResource(WAR_FILENAME);
+ if (resource == null) {
+ System.err.println(String.format("Could not find the %s on classpath!", WAR_FILENAME));
+ System.exit(1);
+ }
+ File warFile = File.createTempFile("hawtio-", ".war");
+ writeStreamTo(resource.openStream(), new FileOutputStream(warFile), 64 * KB);
+
+ String warPath = warFile.getCanonicalPath();
+ main.setWar(warPath);
+ } catch (Exception e) {
+ System.err.println("Failed to create hawtio: " + e.getMessage());
+ e.printStackTrace();
+ return;
+ }
+
+ if (!main.parseArguments(args) || main.isHelp()) {
+ main.showOptions();
+ } else {
+ try {
+ main.run();
+
+ // should we open the url
+ int port = main.getPort();
+ String url = "http://localhost:" + port + main.getContextPath();
+ // set what is the url
+ System.setProperty("hawtio.url", url);
+
+ String open = main.isOpenUrl() ? "true" : "false";
+ // JVM system override the main option
+ boolean openUrl = "true".equals(System.getProperty("hawtio.openUrl", open));
+ if (openUrl && Desktop.isDesktopSupported()) {
+ try {
+ Desktop.getDesktop().browse(new URI(url));
+ } catch (Exception e) {
+ System.err.println(String.format(
+ "Failed to open browser session, to access hawtio visit \"%s\"",
+ url));
+ }
+ }
+ } catch (Exception e) {
+ System.err.println("Failed running hawtio: " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+ }
+
+ protected static void addPath(Set paths, String path) {
+ paths.add(path);
+ String jreSuffix = File.separator + "jre";
+ if (path.endsWith(jreSuffix)) {
+ path = path.substring(0, path.length() - jreSuffix.length());
+ paths.add(path);
+ }
+ }
+
+ private static Class> loadClass(String name, ClassLoader... classLoaders) throws ClassNotFoundException {
+ for (ClassLoader classLoader : classLoaders) {
+ try {
+ return classLoader.loadClass(name);
+ } catch (ClassNotFoundException e) {
+ // ignore
+ }
+ }
+ return Class.forName(name);
+ }
+
+ public static int writeStreamTo(final InputStream input, final OutputStream output, int bufferSize) throws IOException {
+ int available = Math.min(input.available(), 256 * KB);
+ byte[] buffer = new byte[Math.max(bufferSize, available)];
+ int answer = 0;
+ int count = input.read(buffer);
+ while (count >= 0) {
+ output.write(buffer, 0, count);
+ answer += count;
+ count = input.read(buffer);
+ }
+ return answer;
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/.gitignore" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/.gitignore"
new file mode 100755
index 0000000..072a31e
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/.gitignore"
@@ -0,0 +1,4 @@
+hawtio-config
+hawtio.log
+overlays
+mavenIndexer
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/pom.xml" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/pom.xml"
new file mode 100755
index 0000000..7049cc2
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/pom.xml"
@@ -0,0 +1,133 @@
+
+
+
+ io.hawt
+ project
+ 2.5.0
+
+
+ 4.0.0
+ hawtio-base
+ war
+ ${project.artifactId}
+ hawtio :: Base Web Application
+
+
+
+ javax.servlet
+ javax.servlet-api
+ ${servlet-api-version}
+ provided
+
+
+
+ io.hawt
+ hawtio-war
+ ${project.version}
+
+ war
+
+
+
+
+ io.hawt
+ hawtio-core
+ ${project.version}
+ provided
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j-version}
+
+
+ org.apache.aries.blueprint
+ org.apache.aries.blueprint.web
+ ${blueprint-web-version}
+
+
+ org.apache.geronimo.specs
+ geronimo-servlet_2.5_spec
+
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
+
+
+
+
+ ${jetty-plugin-groupId}
+ jetty-maven-plugin
+ ${jetty-version}
+
+ ${project.build.directory}/${project.name}
+ 1
+
+ ${context}
+
+
+
+ ${jettyPort}
+ 60000
+
+
+
+
+
+ org.apache.tomcat.maven
+ tomcat7-maven-plugin
+ 2.0
+
+ 9090
+ ${context}
+
+
+ false
+
+
+
+
+ org.apache.tomcat.maven
+ tomcat6-maven-plugin
+ 2.0
+
+ 9090
+ ${context}
+
+
+ false
+
+
+
+
+
+ maven-clean-plugin
+
+
+
+ ${basedir}/overlays
+
+ **/*.*
+
+ false
+
+
+
+
+
+
+
+
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/java/io/hawt/blueprint/HawtioBlueprintContextListener.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/java/io/hawt/blueprint/HawtioBlueprintContextListener.java"
new file mode 100755
index 0000000..7560352
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-base/src/main/java/io/hawt/blueprint/HawtioBlueprintContextListener.java"
@@ -0,0 +1,145 @@
+/**
+ * Copyright (C) 2013 the original author or authors.
+ * See the notice.md file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.hawt.blueprint;
+
+import org.apache.aries.blueprint.container.BlueprintContainerImpl;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * Initialises all the blueprint XML files called META-INF/blueprint.xml on the classpath
+ */
+public class HawtioBlueprintContextListener implements ServletContextListener {
+
+ public static final String CONTAINER_ATTRIBUTE = "org.apache.aries.blueprint.container";
+
+ public static final String LOCATION = "blueprintLocation";
+
+ public static final String PROPERTIES = "blueprintProperties";
+
+ public static final String DEFAULT_LOCATION = "META-INF/blueprint.xml";
+
+ public void contextInitialized(ServletContextEvent event) {
+ ServletContext servletContext = event.getServletContext();
+ String location = servletContext.getInitParameter(LOCATION);
+ if (location == null) {
+ location = DEFAULT_LOCATION;
+ }
+ List resourcePaths = new ArrayList();
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ try {
+ Enumeration resources = classLoader.getResources(location);
+ while (resources.hasMoreElements()) {
+ resourcePaths.add(resources.nextElement());
+ }
+ Collections.sort(resourcePaths, new Comparator() {
+ @Override
+ public int compare(URL o1, URL o2) {
+ return o1.toString().compareTo(o2.toString());
+ }
+ });
+ servletContext.log("Loading Blueprint contexts " + resourcePaths);
+
+ Map properties = new HashMap();
+ String propLocations = servletContext.getInitParameter(PROPERTIES);
+ if (propLocations != null) {
+ for (String propLoc : propLocations.split(",")) {
+ Enumeration propUrl = classLoader.getResources(propLoc);
+ while (propUrl.hasMoreElements()) {
+ URL url = propUrl.nextElement();
+ InputStream is = url.openStream();
+ try {
+ Properties props = new Properties();
+ props.load(is);
+ Enumeration names = props.propertyNames();
+ while (names.hasMoreElements()) {
+ String key = names.nextElement().toString();
+ properties.put(key, props.getProperty(key));
+ }
+ } finally {
+ is.close();
+ }
+ }
+ }
+ }
+ appendEnvironmentVariablesAndSystemProperties(servletContext, properties);
+
+ BlueprintContainerImpl container = new BlueprintContainerImpl(classLoader, resourcePaths, properties, true);
+ servletContext.setAttribute(CONTAINER_ATTRIBUTE, container);
+ } catch (Exception e) {
+ servletContext.log("Failed to startup blueprint container. " + e, e);
+ }
+ }
+
+ protected void appendEnvironmentVariablesAndSystemProperties(ServletContext servletContext, Map properties) {
+ try {
+ Properties sysProperties = System.getProperties();
+ Set> sysEntries = sysProperties.entrySet();
+ for (Map.Entry
+ *
The role of this MBean is to combine LIST+EXEC/RBAC operations into one - and return
+ * map that is complete, but optimized (uses shared JSON elements that can be processed by hawtio client
+ * app itself).
+ */
+public interface RBACRegistryMBean {
+
+ /**
+ * Returns {@link Map} (that can be nicely handled by Jolokia) containing everything that is initially
+ * needed by hawtio client application. It's an optimized and dedicated method that runs much faster than
+ * sequence of relevant Jolokia operations (LIST+EXEC with maxDepth=7).
+ * @return
+ */
+ Map list() throws Exception;
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/osgi/OsgiMBeanDetector.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/osgi/OsgiMBeanDetector.java"
new file mode 100755
index 0000000..f41ef28
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/osgi/OsgiMBeanDetector.java"
@@ -0,0 +1,60 @@
+package io.hawt.osgi;
+
+import org.jolokia.backend.executor.MBeanServerExecutor;
+import org.jolokia.detector.ServerDetector;
+import org.jolokia.detector.ServerHandle;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.util.tracker.ServiceTracker;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerConnection;
+import java.lang.instrument.Instrumentation;
+import java.util.Set;
+
+public class OsgiMBeanDetector implements ServerDetector {
+
+ public OsgiMBeanDetector() {
+ }
+
+ @Override
+ public ServerHandle detect(MBeanServerExecutor pMBeanServerExecutor) {
+ return null;
+ }
+
+ @Override
+ public void addMBeanServers(Set pMBeanServers) {
+ BundleContext context = null;
+ try {
+ Bundle bundle = FrameworkUtil.getBundle(getClass());
+ context = bundle != null ? bundle.getBundleContext() : null;
+ } catch (Throwable t) {
+ // Ignore
+ }
+ if (context != null) {
+ ServiceTracker tracker = new ServiceTracker<>(context, MBeanServer.class, null);
+ tracker.open();
+ MBeanServer server = null;
+ for (int i = 0; i < 1000; i++) {
+ server = tracker.getService();
+ if (server != null) {
+ break;
+ }
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ return;
+ }
+ }
+ if (server != null) {
+ pMBeanServers.add(server);
+ }
+ }
+ }
+
+ @Override
+ public void jvmAgentStartup(Instrumentation instrumentation) {
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthHelpers.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthHelpers.java"
new file mode 100755
index 0000000..7bc11f7
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthHelpers.java"
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2017 Red Hat, Inc.
+ *
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package io.hawt.system;
+
+import java.security.Principal;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+import javax.security.auth.Subject;
+
+import io.hawt.web.auth.LoginServlet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Helpers for authentication and authorization.
+ */
+public class AuthHelpers {
+
+ private static final transient Logger LOG = LoggerFactory.getLogger(LoginServlet.class);
+
+ public static final List KNOWN_PRINCIPALS = Arrays.asList(
+ "UserPrincipal", "KeycloakPrincipal", "JAASPrincipal", "SimplePrincipal");
+
+ public static String getUsername(Subject subject) {
+ Set principals = subject.getPrincipals();
+
+ String username = null;
+
+ if (principals != null) {
+ for (Principal principal : principals) {
+ String principalClass = principal.getClass().getSimpleName();
+ if (KNOWN_PRINCIPALS.contains(principalClass)) {
+ username = principal.getName();
+ LOG.debug("Username in principal: {}", username);
+ }
+ }
+ }
+
+ return username;
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthInfo.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthInfo.java"
new file mode 100755
index 0000000..abd1c78
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthInfo.java"
@@ -0,0 +1,17 @@
+package io.hawt.system;
+
+import io.hawt.util.Strings;
+
+/**
+ * Authentication information that represents a set of user name and password.
+ */
+public class AuthInfo {
+
+ public String username;
+ public String password;
+
+ public boolean isSet() {
+ return Strings.isNotBlank(username) && Strings.isNotBlank(password);
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthenticateResult.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthenticateResult.java"
new file mode 100755
index 0000000..cf7acb5
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/AuthenticateResult.java"
@@ -0,0 +1,10 @@
+package io.hawt.system;
+
+/**
+ * Authentication result
+ */
+public enum AuthenticateResult {
+ AUTHORIZED,
+ NOT_AUTHORIZED,
+ NO_CREDENTIALS
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/Authenticator.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/Authenticator.java"
new file mode 100755
index 0000000..3f824da
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/Authenticator.java"
@@ -0,0 +1,321 @@
+package io.hawt.system;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.security.Principal;
+import java.util.List;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.AccountException;
+import javax.security.auth.login.Configuration;
+import javax.security.auth.login.LoginContext;
+import javax.security.auth.login.LoginException;
+import javax.servlet.http.HttpServletRequest;
+
+import io.hawt.web.auth.AuthenticationConfiguration;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.karaf.jaas.boot.principal.ClientPrincipal;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * To perform authentication using JAAS using the {@link LoginContext} for the choosen realm.
+ */
+public class Authenticator {
+
+ private static final transient Logger LOG = LoggerFactory.getLogger(Authenticator.class);
+
+ public static final String HEADER_AUTHORIZATION = "Authorization";
+ public static final String AUTHENTICATION_SCHEME_BASIC = "Basic";
+
+ private static Boolean websphereDetected;
+ private static Method websphereGetGroupsMethod;
+
+ public static void extractAuthInfo(String authHeader, BiConsumer callback) {
+ authHeader = authHeader.trim();
+ String[] parts = authHeader.split(" ");
+ if (parts.length != 2) {
+ return;
+ }
+
+ String authType = parts[0];
+ String authInfo = parts[1];
+
+ if (authType.equalsIgnoreCase(AUTHENTICATION_SCHEME_BASIC)) {
+ String decoded = new String(Base64.decodeBase64(authInfo));
+ int delimiter = decoded.indexOf(':');
+ if (delimiter < 0) {
+ return;
+ }
+ String user = decoded.substring(0, delimiter);
+ String password = decoded.substring(delimiter + 1);
+ callback.accept(user, password);
+ }
+ }
+
+ public static void logout(AuthenticationConfiguration authConfiguration, Subject subject) {
+ try {
+ LoginContext loginContext = new LoginContext(authConfiguration.getRealm(), subject);
+ loginContext.logout();
+ } catch (Exception e) {
+ LOG.warn("Error occurred while logging out", e);
+ }
+ }
+
+ public static AuthenticateResult authenticate(AuthenticationConfiguration authConfiguration,
+ HttpServletRequest request, Consumer callback) {
+
+ String authHeader = request.getHeader(HEADER_AUTHORIZATION);
+
+ if (authHeader == null || authHeader.equals("")) {
+ return AuthenticateResult.NO_CREDENTIALS;
+ }
+
+ AuthInfo info = new AuthInfo();
+
+ extractAuthInfo(authHeader, (userName, password) -> {
+ info.username = userName;
+ info.password = password;
+ });
+
+ if (info.username == null || info.username.equals("public")) {
+ return AuthenticateResult.NO_CREDENTIALS;
+ }
+
+ if (info.isSet()) {
+ return authenticate(authConfiguration, request, info.username, info.password, callback);
+ }
+
+ return AuthenticateResult.NO_CREDENTIALS;
+ }
+
+ public static AuthenticateResult authenticate(AuthenticationConfiguration authConfiguration,
+ HttpServletRequest request,
+ String username, String password, Consumer callback) {
+ Subject subject = doAuthenticate(
+ request,
+ authConfiguration.getRealm(),
+ authConfiguration.getRole(),
+ authConfiguration.getRolePrincipalClasses(),
+ authConfiguration.getConfiguration(),
+ username,
+ password);
+ if (subject == null) {
+ return AuthenticateResult.NOT_AUTHORIZED;
+ }
+
+ if (callback != null) {
+ try {
+ callback.accept(subject);
+ } catch (Exception e) {
+ LOG.warn("Failed to execute privileged action:", e);
+ }
+ }
+
+ return AuthenticateResult.AUTHORIZED;
+ }
+
+ private static Subject doAuthenticate(HttpServletRequest request, String realm, String role, String rolePrincipalClasses, Configuration configuration,
+ final String username, final String password) {
+ try {
+
+ LOG.debug("doAuthenticate[realm={}, role={}, rolePrincipalClasses={}, configuration={}, username={}, password={}]",
+ realm, role, rolePrincipalClasses, configuration, username, "******");
+
+ Subject subject = new Subject();
+ try {
+ String addr = request.getRemoteHost() + ":" + request.getRemotePort();
+ subject.getPrincipals().add(new ClientPrincipal("hawtio", addr));
+ } catch (Throwable t) {
+ // ignore
+ }
+ CallbackHandler handler = new AuthenticationCallbackHandler(username, password);
+
+ // call the constructor with or without the configuration as it behaves differently
+ LoginContext loginContext;
+ if (configuration != null) {
+ loginContext = new LoginContext(realm, subject, handler, configuration);
+ } else {
+ loginContext = new LoginContext(realm, subject, handler);
+ }
+
+ loginContext.login();
+
+ if (role == null || role.equals("")) {
+ LOG.debug("Skipping role check, no role configured");
+ return subject;
+ }
+
+ if (role.equals("*")) {
+ LOG.debug("Skipping role check, all roles allowed");
+ return subject;
+ }
+
+ boolean found;
+ if (isRunningOnWebsphere(subject)) {
+ found = checkIfSubjectHasRequiredRoleOnWebsphere(subject, role);
+ } else {
+ if (rolePrincipalClasses == null || rolePrincipalClasses.equals("")) {
+ LOG.debug("Skipping role check, no rolePrincipalClasses configured");
+ return subject;
+ }
+
+ found = checkIfSubjectHasRequiredRole(subject, role, rolePrincipalClasses);
+ }
+
+ if (!found) {
+ LOG.debug("User {} does not have the required role {}", username, role);
+ return null;
+ }
+
+ return subject;
+
+ } catch (AccountException e) {
+ LOG.warn("Account failure", e);
+ } catch (LoginException e) {
+ LOG.warn("Login failed due to: {}", e.getMessage());
+ LOG.debug("Failed stacktrace:", e);
+ }
+
+ return null;
+ }
+
+ private static boolean checkIfSubjectHasRequiredRole(Subject subject,
+ String role, String rolePrincipalClasses) {
+ String[] roleArray = role.split(",");
+ String[] rolePrincipalClazzes = rolePrincipalClasses.split(",");
+ boolean found = false;
+ for (String clazz : rolePrincipalClazzes) {
+ LOG.debug("Looking for rolePrincipalClass: {}", clazz);
+ for (Principal p : subject.getPrincipals()) {
+ LOG.debug("Checking principal, classname: {} toString: {}", p.getClass().getName(), p);
+ if (!p.getClass().getName().equals(clazz.trim())) {
+ LOG.debug("principal class {} doesn't match {}, continuing", p.getClass().getName(), clazz.trim());
+ continue;
+ }
+ for (String r : roleArray) {
+ if (r == null || !p.getName().equals(r.trim())) {
+ LOG.debug("role {} doesn't match {}, continuing", p.getName(), r);
+ continue;
+ }
+ LOG.debug("Matched role and role principal class");
+ found = true;
+ break;
+ }
+ if (found) {
+ break;
+ }
+ }
+ if (found) {
+ break;
+ }
+
+ }
+ return found;
+ }
+
+ private static boolean isRunningOnWebsphere(Subject subject) {
+ if (websphereDetected == null) {
+ boolean onWebsphere = false;
+ for (Principal p : subject.getPrincipals()) {
+ LOG.trace("Checking principal for IBM specific interfaces: {}", p);
+ onWebsphere = implementsInterface(p, "com.ibm.websphere.security.auth.WSPrincipal");
+ }
+ LOG.trace("Checking if we are running using a IBM Websphere specific LoginModule: {}", onWebsphere);
+ websphereDetected = onWebsphere;
+ }
+ return websphereDetected;
+ }
+
+ private static boolean checkIfSubjectHasRequiredRoleOnWebsphere(Subject subject, String role) {
+ LOG.debug("Running on websphere: checking if the Role {} is in the set of groups in WSCredential", role);
+ for (final Object cred : subject.getPublicCredentials()) {
+ LOG.debug("Checking credential {} if it is a WebSphere specific WSCredential containing group info", cred);
+ if (implementsInterface(cred, "com.ibm.websphere.security.cred.WSCredential")) {
+ try {
+ Method groupsMethod = getWebSphereGetGroupsMethod(cred);
+ @SuppressWarnings("unchecked") final List groups = (List) groupsMethod.invoke(cred);
+
+ if (groups != null) {
+ LOG.debug("Found a total of {} groups in the IBM WebSphere Credentials", groups.size());
+
+ for (Object group : groups) {
+ LOG.debug("Matching IBM Websphere group name {} to required role {}", group, role);
+
+ String[] roleArray = role.split(",");
+ for (String r : roleArray) {
+ if (r.equals(group.toString())) {
+ LOG.debug("Required role {} found in IBM WebSphere specific credentials", r);
+ return true;
+ } else {
+ LOG.debug("role {} doesn't match {}, continuing", r, group.toString());
+ }
+ }
+ }
+ } else {
+ LOG.debug("The IBM Websphere groups list is null");
+ }
+
+ } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ // ignored
+ LOG.debug("Caught exception trying to read groups from WebSphere specific WSCredentials class", e);
+ }
+ }
+ }
+ return false;
+ }
+
+ private static Method getWebSphereGetGroupsMethod(final Object cred) throws NoSuchMethodException {
+ if (websphereGetGroupsMethod == null) {
+ websphereGetGroupsMethod = cred.getClass().getMethod("getGroupIds");
+ }
+ return websphereGetGroupsMethod;
+ }
+
+ private static boolean implementsInterface(Object o, String interfaceName) {
+ boolean implementsIf = false;
+ for (Class> pif : o.getClass().getInterfaces()) {
+ LOG.trace("Checking interface {} if it matches {}", pif, interfaceName);
+ if (pif.getName().equals(interfaceName)) {
+ implementsIf = true;
+ break;
+ }
+ }
+ return implementsIf;
+ }
+
+ private static final class AuthenticationCallbackHandler implements CallbackHandler {
+
+ private final String username;
+ private final String password;
+
+ private AuthenticationCallbackHandler(String username, String password) {
+ this.username = username;
+ this.password = password;
+ }
+
+ @Override
+ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+ for (Callback callback : callbacks) {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Callback type {} -> {}", callback.getClass(), callback);
+ }
+ if (callback instanceof NameCallback) {
+ ((NameCallback) callback).setName(username);
+ } else if (callback instanceof PasswordCallback) {
+ ((PasswordCallback) callback).setPassword(password.toCharArray());
+ } else {
+ LOG.debug("Unknown callback class [" + callback.getClass().getName() + "]");
+ }
+ }
+ }
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ConfigManager.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ConfigManager.java"
new file mode 100755
index 0000000..4aa36ea
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ConfigManager.java"
@@ -0,0 +1,105 @@
+package io.hawt.system;
+
+import java.util.Arrays;
+import java.util.Objects;
+import java.util.function.Function;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.servlet.ServletContext;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Configuration manager that provides hawtio configuration properties.
+ */
+public class ConfigManager {
+
+ private static final transient Logger LOG = LoggerFactory.getLogger(ConfigManager.class);
+
+ public static final String CONFIG_MANAGER = "ConfigManager";
+
+ private Context envContext = null;
+
+ private Function propertyResolver;
+
+ public ConfigManager() {
+ this.propertyResolver = ConfigManager::getHawtioSystemProperty;
+ }
+
+ public ConfigManager(final Function propertyResolver) {
+ Objects.requireNonNull(propertyResolver);
+
+ // System properties must always have priority
+ this.propertyResolver = x -> getProperty(x, ConfigManager::getHawtioSystemProperty, propertyResolver);
+ }
+
+ public void init(ServletContext servletContext) {
+ if (Boolean.parseBoolean(getHawtioSystemProperty(HawtioProperty.FORCE_PROPERTIES))) {
+ LOG.info("Forced using system properties");
+ return;
+ }
+
+ try {
+ envContext = (Context) new InitialContext().lookup("java:comp/env");
+ LOG.info("Configuration will be discovered via JNDI");
+ } catch (NamingException e) {
+ LOG.debug("Failed to look up environment context: {}", e.getMessage());
+ LOG.info("Configuration will be discovered via system properties");
+ }
+ }
+
+ public void destroy() {
+ if (envContext != null) {
+ try {
+ envContext.close();
+ } catch (NamingException e) {
+ // ignore...
+ }
+ envContext = null;
+ }
+ }
+
+ public String get(String name, String defaultValue) {
+ String answer = null;
+ if (envContext != null) {
+ try {
+ answer = (String) envContext.lookup("hawtio/" + name);
+ } catch (Exception e) {
+ // ignore...
+ }
+ }
+
+ if (answer == null) {
+ answer = this.propertyResolver.apply(name);
+ }
+
+ if (answer == null) {
+ answer = defaultValue;
+ }
+
+ LOG.debug("Property {} is set to value {}", name, answer);
+ return answer;
+ }
+
+ public boolean getBoolean(String name, boolean defaultValue) {
+ return Boolean.parseBoolean(get(name, Boolean.toString(defaultValue)));
+ }
+
+ private static String getHawtioSystemProperty(String name) {
+ return System.getProperty("hawtio." + name);
+ }
+
+ @SafeVarargs
+ private static String getProperty(String name,
+ Function... propertyResolvers) {
+ return Arrays.stream(propertyResolvers)
+ .map(resolver -> resolver.apply(name))
+ .filter(result -> result != null)
+ .findFirst()
+ .orElse(null);
+ }
+
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/HawtioProperty.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/HawtioProperty.java"
new file mode 100755
index 0000000..da6bbb8
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/HawtioProperty.java"
@@ -0,0 +1,23 @@
+package io.hawt.system;
+
+/**
+ * Hawtio property name constants.
+ */
+public final class HawtioProperty {
+
+ /**
+ * Boolean flag indicating whether JNDI configuration should be skipped in
+ * preference of system properties.
+ */
+ public static final String FORCE_PROPERTIES = "forceProperties";
+
+ /**
+ * The name of the servlet context attribute holding hawtio deployment path
+ * relative to the context root. By default when hawtio is launched in
+ * stand-alone mode, its path is assumed to be at the root of the servlet. But
+ * in certain scenarios this might not be the case. For example, when running
+ * under Spring Boot, actual hawtio path can potentially consist of servlet
+ * prefix, management context path as well as hawtio endpoint path.
+ */
+ public static final String SERVLET_PATH = "hawtioServletPath";
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/JmxHelpers.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/JmxHelpers.java"
new file mode 100755
index 0000000..a0ea45f
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/JmxHelpers.java"
@@ -0,0 +1,26 @@
+package io.hawt.system;
+
+import javax.management.ObjectName;
+import java.util.Set;
+
+/**
+ * Helpers for JMX
+ */
+public class JmxHelpers {
+
+ public static ObjectName chooseMBean(Set mbeans) {
+ if (mbeans.size() == 1) {
+ return mbeans.iterator().next();
+ }
+ for (ObjectName mbean : mbeans) {
+ if (!isHawtioDummy(mbean.toString())) {
+ return mbean;
+ }
+ }
+ return null;
+ }
+
+ private static boolean isHawtioDummy(String name) {
+ return name.contains("HawtioDummy");
+ }
+}
diff --git "a/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ProxyWhitelist.java" "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ProxyWhitelist.java"
new file mode 100755
index 0000000..74fe7ef
--- /dev/null
+++ "b/\343\200\22004\343\200\221SSRF \346\274\217\346\264\236\345\216\237\347\220\206\344\270\216\345\256\236\351\231\205\346\241\210\344\276\213\344\273\213\347\273\215/hawtio-hawtio-2.5.0/hawtio-system/src/main/java/io/hawt/system/ProxyWhitelist.java"
@@ -0,0 +1,170 @@
+package io.hawt.system;
+
+import java.lang.management.ManagementFactory;
+import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.regex.Pattern;
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanException;
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+import javax.management.ReflectionException;
+
+import io.hawt.util.Hosts;
+import io.hawt.util.Strings;
+import io.hawt.web.proxy.ProxyDetails;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Whitelist manager for hawtio proxy.
+ *
+ * TODO: For now this implementation is heavily relying on Fabric v1, and should be rewritten to a more general form.
+ */
+public class ProxyWhitelist {
+
+ private static final transient Logger LOG = LoggerFactory.getLogger(ProxyWhitelist.class);
+
+ private static final String FABRIC_MBEAN = "io.fabric8:type=Fabric";
+
+ protected CopyOnWriteArraySet whitelist;
+ protected List regexWhitelist;
+ protected MBeanServer mBeanServer;
+ protected ObjectName fabricMBean;
+
+ public ProxyWhitelist(String whitelistStr) {
+ this(whitelistStr, true);
+ }
+
+ public ProxyWhitelist(String whitelistStr, boolean probeLocal) {
+ if (Strings.isBlank(whitelistStr)) {
+ whitelist = new CopyOnWriteArraySet<>();
+ regexWhitelist = Collections.emptyList();
+ } else {
+ whitelist = new CopyOnWriteArraySet<>(filterRegex(Strings.split(whitelistStr, ",")));
+ regexWhitelist = buildRegexWhitelist(Strings.split(whitelistStr, ","));
+ }
+
+ if (probeLocal) {
+ LOG.info("Probing local addresses ...");
+ initialiseWhitelist();
+ } else {
+ LOG.info("Probing local addresses disabled");
+ whitelist.add("localhost");
+ whitelist.add("127.0.0.1");
+ }
+ LOG.info("Initial proxy whitelist: {}", whitelist);
+
+ mBeanServer = ManagementFactory.getPlatformMBeanServer();
+ try {
+ fabricMBean = new ObjectName(FABRIC_MBEAN);
+ } catch (MalformedObjectNameException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected List filterRegex(List whitelist) {
+ List result = new ArrayList<>();
+
+ for (String element : whitelist) {
+ if (!element.startsWith("r:")) {
+ result.add(element);
+ }
+ }
+
+ return result;
+ }
+
+ protected List buildRegexWhitelist(List whitelist) {
+ List patterns = new ArrayList<>();
+
+ for (String element : whitelist) {
+ if (element.startsWith("r:")) {
+ String regex = element.substring(2);
+ patterns.add(Pattern.compile(regex));
+ }
+ }
+
+ return patterns;
+ }
+
+ protected void initialiseWhitelist() {
+ Map> localAddresses = Hosts.getNetworkInterfaceAddresses(true);
+ for (Set addresses : localAddresses.values()) {
+ for (InetAddress address : addresses) {
+ whitelist.add(address.getHostAddress());
+ whitelist.add(address.getHostName());
+ whitelist.add(address.getCanonicalHostName());
+ }
+ }
+ }
+
+ public boolean isAllowed(ProxyDetails details) {
+ if (details.isAllowed(whitelist)) {
+ return true;
+ }
+
+ // Update whitelist and check again
+ LOG.debug("Updating proxy whitelist: {}, {}", whitelist, details);
+ if (update() && details.isAllowed(whitelist)) {
+ return true;
+ }
+
+ // test against the regex as last resort
+ if (details.isAllowed(regexWhitelist)) {
+ return true;
+ } else {
+ return false;
+ }
+
+ }
+
+ public boolean update() {
+ if (!mBeanServer.isRegistered(fabricMBean)) {
+ LOG.debug("Whitelist MBean not available");
+ return false;
+ }
+
+ Set newWhitelist = invokeMBean();
+ int previousSize = whitelist.size();
+ whitelist.addAll(newWhitelist);
+ if (whitelist.size() == previousSize) {
+ LOG.debug("No new proxy whitelist to update");
+ return false;
+ } else {
+ LOG.info("Updated proxy whitelist: {}", whitelist);
+ return true;
+ }
+ }
+
+ protected Set invokeMBean() {
+ Set list = new HashSet<>();
+ try {
+ @SuppressWarnings("unchecked")
+ List