diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/WebGoat.java b/webgoat-container/src/main/java/org/owasp/webgoat/WebGoat.java index ac607b7d6..bf4c9a990 100644 --- a/webgoat-container/src/main/java/org/owasp/webgoat/WebGoat.java +++ b/webgoat-container/src/main/java/org/owasp/webgoat/WebGoat.java @@ -32,6 +32,7 @@ package org.owasp.webgoat; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.Context; import org.owasp.webgoat.plugins.PluginClassLoader; import org.owasp.webgoat.plugins.PluginEndpointPublisher; import org.owasp.webgoat.plugins.PluginsExtractor; @@ -42,6 +43,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; +import org.springframework.boot.context.embedded.tomcat.TomcatContextCustomizer; +import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -49,6 +53,7 @@ import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; import java.io.File; +import java.util.Arrays; @SpringBootApplication @Slf4j @@ -109,4 +114,18 @@ public class WebGoat extends SpringBootServletInitializer { return userTracker; } + @Bean + public EmbeddedServletContainerFactory servletContainer() { + TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); + factory.setTomcatContextCustomizers(Arrays.asList(new CustomCustomizer())); + return factory; + } + + static class CustomCustomizer implements TomcatContextCustomizer { + @Override + public void customize(Context context) { + context.setUseHttpOnly(false); + } + } + }