Fix passing command line arguments (#1933)
* fix: use banners correctly * fix: passing command line arguments Since we already have `webwolf.port` it makes sense to also define `webwolf.port` explicitly and not rely on `server.port` Closes: #1910
This commit is contained in:
		
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							| @ -85,6 +85,16 @@ java -Dfile.encoding=UTF-8 -jar webgoat-2023.8.jar | |||||||
|  |  | ||||||
| Click the link in the log to start WebGoat. | Click the link in the log to start WebGoat. | ||||||
|  |  | ||||||
|  | ### 3.1 Running on a different port | ||||||
|  |  | ||||||
|  | If for some reason you want to run WebGoat on a different port, you can do so by adding the following parameter: | ||||||
|  |  | ||||||
|  | ```shell | ||||||
|  | java -jar webgoat-2023.8.jar --webgoat.port=8001 --webwolf.port=8002 | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | For a full overview of all the parameters you can use, please check the [WebGoat properties file](webgoat-container/src/main/resources/application-{webgoat, webwolf}.properties). | ||||||
|  |  | ||||||
| ## 4. Run from the sources | ## 4. Run from the sources | ||||||
|  |  | ||||||
| ### Prerequisites: | ### Prerequisites: | ||||||
|  | |||||||
| @ -1,8 +1,6 @@ | |||||||
| package org.owasp.webgoat.server; | package org.owasp.webgoat.server; | ||||||
|  |  | ||||||
| import org.springframework.context.annotation.ComponentScan; |  | ||||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||||
|  |  | ||||||
| @Configuration | @Configuration | ||||||
| @ComponentScan("org.owasp.webgoat.server") |  | ||||||
| public class ParentConfig {} | public class ParentConfig {} | ||||||
|  | |||||||
| @ -28,23 +28,30 @@ package org.owasp.webgoat.server; | |||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
| import org.owasp.webgoat.container.WebGoat; | import org.owasp.webgoat.container.WebGoat; | ||||||
| import org.owasp.webgoat.webwolf.WebWolf; | import org.owasp.webgoat.webwolf.WebWolf; | ||||||
| import org.springframework.boot.Banner; | import org.springframework.boot.ResourceBanner; | ||||||
| import org.springframework.boot.WebApplicationType; | import org.springframework.boot.WebApplicationType; | ||||||
| import org.springframework.boot.builder.SpringApplicationBuilder; | import org.springframework.boot.builder.SpringApplicationBuilder; | ||||||
| import org.springframework.context.ApplicationContext; | import org.springframework.context.ApplicationContext; | ||||||
|  | import org.springframework.core.io.ClassPathResource; | ||||||
|  |  | ||||||
| @Slf4j | @Slf4j | ||||||
| public class StartWebGoat { | public class StartWebGoat { | ||||||
|  |  | ||||||
|   public static void main(String[] args) { |   public static void main(String[] args) { | ||||||
|     var parentBuilder = |     var parentBuilder = | ||||||
|         new SpringApplicationBuilder() |         new SpringApplicationBuilder().parent(ParentConfig.class).web(WebApplicationType.NONE); | ||||||
|             .parent(ParentConfig.class) |     parentBuilder | ||||||
|             .web(WebApplicationType.NONE) |         .child(WebWolf.class) | ||||||
|             .bannerMode(Banner.Mode.OFF); |         .banner(new ResourceBanner(new ClassPathResource("banner-webwolf.txt"))) | ||||||
|     parentBuilder.child(WebWolf.class).web(WebApplicationType.SERVLET).run(args); |         .web(WebApplicationType.SERVLET) | ||||||
|  |         .run(args); | ||||||
|  |  | ||||||
|     ApplicationContext webGoatContext = |     ApplicationContext webGoatContext = | ||||||
|         parentBuilder.child(WebGoat.class).web(WebApplicationType.SERVLET).run(args); |         parentBuilder | ||||||
|  |             .child(WebGoat.class) | ||||||
|  |             .banner(new ResourceBanner(new ClassPathResource("banner-webgoat.txt"))) | ||||||
|  |             .web(WebApplicationType.SERVLET) | ||||||
|  |             .run(args); | ||||||
|  |  | ||||||
|     printStartUpMessage(webGoatContext); |     printStartUpMessage(webGoatContext); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ server.error.include-stacktrace=always | |||||||
| server.error.path=/error.html | server.error.path=/error.html | ||||||
| server.servlet.context-path=${WEBGOAT_CONTEXT:/WebGoat} | server.servlet.context-path=${WEBGOAT_CONTEXT:/WebGoat} | ||||||
| server.servlet.session.persistent=false | server.servlet.session.persistent=false | ||||||
| server.port=${WEBGOAT_PORT:8080} | server.port=${webgoat.port} | ||||||
| server.address=${WEBGOAT_HOST:127.0.0.1} | server.address=${WEBGOAT_HOST:127.0.0.1} | ||||||
| webgoat.host=${WEBGOAT_HOST:127.0.0.1} | webgoat.host=${WEBGOAT_HOST:127.0.0.1} | ||||||
| webgoat.port=${WEBGOAT_PORT:8080} | webgoat.port=${WEBGOAT_PORT:8080} | ||||||
| @ -15,7 +15,6 @@ server.ssl.key-store-password=${WEBGOAT_KEYSTORE_PASSWORD:password} | |||||||
| server.ssl.key-alias=${WEBGOAT_KEY_ALIAS:goat} | server.ssl.key-alias=${WEBGOAT_KEY_ALIAS:goat} | ||||||
| server.ssl.enabled=${WEBGOAT_SSLENABLED:false} | server.ssl.enabled=${WEBGOAT_SSLENABLED:false} | ||||||
|  |  | ||||||
| spring.banner.location=classpath:banner.txt |  | ||||||
| spring.datasource.url=jdbc:hsqldb:file:${webgoat.server.directory}/webgoat | spring.datasource.url=jdbc:hsqldb:file:${webgoat.server.directory}/webgoat | ||||||
| spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver | spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver | ||||||
| spring.jpa.open-in-view=false | spring.jpa.open-in-view=false | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								src/main/resources/banner-webgoat.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/main/resources/banner-webgoat.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  |  __        __   _      ____             _ | ||||||
|  |  \ \      / /__| |__  / ___| ___   __ _| |_ | ||||||
|  |   \ \ /\ / / _ \ '_ \| |  _ / _ \ / _` | __| | ||||||
|  |    \ V  V /  __/ |_) | |_| | (_) | (_| | |_ | ||||||
|  |     \_/\_/ \___|_.__/ \____|\___/ \__,_|\__| | ||||||
							
								
								
									
										5
									
								
								src/main/resources/banner-webwolf.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/main/resources/banner-webwolf.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  |  __        __   _  __        __    _  __ | ||||||
|  |  \ \      / /__| |_\ \      / /__ | |/ _| | ||||||
|  |   \ \ /\ / / _ \ '_ \ \ /\ / / _ \| | |_ | ||||||
|  |    \ V  V /  __/ |_) \ V  V / (_) | |  _| | ||||||
|  |     \_/\_/ \___|_.__/ \_/\_/ \___/|_|_| | ||||||
| @ -1,6 +0,0 @@ | |||||||
|     __          __       _        _____                   _ |  | ||||||
|     \ \        / /      | |      / ____|                 | | |  | ||||||
|      \ \  /\  / /  ___  | |__   | |  __    ___     __ _  | |_ |  | ||||||
|       \ \/  \/ /  / _ \ | '_ \  | | |_ |  / _ \   / _' | | __| |  | ||||||
|        \  /\  /  |  __/ | |_) | | |__| | | (_) | | (_| | | |_ |  | ||||||
|         \/  \/    \___| |_.__/   \_____|  \___/   \__,_|  \__| |  | ||||||
		Reference in New Issue
	
	Block a user