From 6a83ddcdef42b1cc71110db725a660c178c54e57 Mon Sep 17 00:00:00 2001 From: Nanne Baars Date: Thu, 12 Dec 2024 17:12:35 +0100 Subject: [PATCH] refactor: remove unused code --- .../container/LessonTemplateResolver.java | 4 +- .../webgoat/container/MvcConfiguration.java | 25 ------- .../container/assignments/AssignmentPath.java | 19 ----- .../container/lessons/LessonMenuItemType.java | 3 +- .../container/lessons/LessonScanner.java | 42 ----------- .../lessons/httpbasics/HttpBasicsQuiz.java | 2 - .../resources/lessons/xxe/csv/flights.txt | 69 ------------------- 7 files changed, 3 insertions(+), 161 deletions(-) delete mode 100644 src/main/java/org/owasp/webgoat/container/assignments/AssignmentPath.java delete mode 100644 src/main/java/org/owasp/webgoat/container/lessons/LessonScanner.java delete mode 100644 src/main/resources/lessons/xxe/csv/flights.txt diff --git a/src/main/java/org/owasp/webgoat/container/LessonTemplateResolver.java b/src/main/java/org/owasp/webgoat/container/LessonTemplateResolver.java index cfd569720..59d903a10 100644 --- a/src/main/java/org/owasp/webgoat/container/LessonTemplateResolver.java +++ b/src/main/java/org/owasp/webgoat/container/LessonTemplateResolver.java @@ -55,8 +55,8 @@ import org.thymeleaf.templateresource.StringTemplateResource; public class LessonTemplateResolver extends FileTemplateResolver { private static final String PREFIX = "lesson:"; - private ResourceLoader resourceLoader; - private Map resources = new HashMap<>(); + private final ResourceLoader resourceLoader; + private final Map resources = new HashMap<>(); public LessonTemplateResolver(ResourceLoader resourceLoader) { this.resourceLoader = resourceLoader; diff --git a/src/main/java/org/owasp/webgoat/container/MvcConfiguration.java b/src/main/java/org/owasp/webgoat/container/MvcConfiguration.java index 6aff15813..7a91d18d0 100644 --- a/src/main/java/org/owasp/webgoat/container/MvcConfiguration.java +++ b/src/main/java/org/owasp/webgoat/container/MvcConfiguration.java @@ -40,7 +40,6 @@ import lombok.extern.slf4j.Slf4j; import org.owasp.webgoat.container.i18n.Language; import org.owasp.webgoat.container.i18n.Messages; import org.owasp.webgoat.container.i18n.PluginMessages; -import org.owasp.webgoat.container.lessons.LessonScanner; import org.owasp.webgoat.container.session.LabelDebugger; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -74,8 +73,6 @@ public class MvcConfiguration implements WebMvcConfigurer { private static final String UTF8 = "UTF-8"; - private final LessonScanner lessonScanner; - @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/login").setViewName("login"); @@ -187,28 +184,6 @@ public class MvcConfiguration implements WebMvcConfigurer { registry .addResourceHandler("/fonts/**") .addResourceLocations("classpath:/webgoat/static/fonts/"); - - // WebGoat lessons - registry - .addResourceHandler("/images/**") - .addResourceLocations( - lessonScanner.applyPattern("classpath:/lessons/%s/images/").toArray(String[]::new)); - registry - .addResourceHandler("/lesson_js/**") - .addResourceLocations( - lessonScanner.applyPattern("classpath:/lessons/%s/js/").toArray(String[]::new)); - registry - .addResourceHandler("/lesson_css/**") - .addResourceLocations( - lessonScanner.applyPattern("classpath:/lessons/%s/css/").toArray(String[]::new)); - registry - .addResourceHandler("/lesson_templates/**") - .addResourceLocations( - lessonScanner.applyPattern("classpath:/lessons/%s/templates/").toArray(String[]::new)); - registry - .addResourceHandler("/video/**") - .addResourceLocations( - lessonScanner.applyPattern("classpath:/lessons/%s/video/").toArray(String[]::new)); } @Bean diff --git a/src/main/java/org/owasp/webgoat/container/assignments/AssignmentPath.java b/src/main/java/org/owasp/webgoat/container/assignments/AssignmentPath.java deleted file mode 100644 index 0c1993393..000000000 --- a/src/main/java/org/owasp/webgoat/container/assignments/AssignmentPath.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.owasp.webgoat.container.assignments; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import org.springframework.web.bind.annotation.RequestMethod; - -/** Created by nbaars on 1/14/17. */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -public @interface AssignmentPath { - - String[] path() default {}; - - RequestMethod[] method() default {}; - - String value() default ""; -} diff --git a/src/main/java/org/owasp/webgoat/container/lessons/LessonMenuItemType.java b/src/main/java/org/owasp/webgoat/container/lessons/LessonMenuItemType.java index 0ce6b660a..7648752a7 100644 --- a/src/main/java/org/owasp/webgoat/container/lessons/LessonMenuItemType.java +++ b/src/main/java/org/owasp/webgoat/container/lessons/LessonMenuItemType.java @@ -35,6 +35,5 @@ package org.owasp.webgoat.container.lessons; */ public enum LessonMenuItemType { CATEGORY, - LESSON, - STAGE + LESSON } diff --git a/src/main/java/org/owasp/webgoat/container/lessons/LessonScanner.java b/src/main/java/org/owasp/webgoat/container/lessons/LessonScanner.java deleted file mode 100644 index e21baef30..000000000 --- a/src/main/java/org/owasp/webgoat/container/lessons/LessonScanner.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.owasp.webgoat.container.lessons; - -import java.io.IOException; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.regex.Pattern; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; -import org.springframework.core.io.support.ResourcePatternResolver; -import org.springframework.stereotype.Component; - -@Component -@Slf4j -public class LessonScanner { - - private static final Pattern lessonPattern = Pattern.compile("^.*/lessons/([^/]*)/.*$"); - - @Getter private final Set lessons = new HashSet<>(); - - public LessonScanner(ResourcePatternResolver resourcePatternResolver) { - try { - var resources = resourcePatternResolver.getResources("classpath:/lessons/*/*"); - for (var resource : resources) { - // WG can run as a fat jar or as directly from file system we need to support both so use - // the URL - var url = resource.getURL(); - var matcher = lessonPattern.matcher(url.toString()); - if (matcher.matches()) { - lessons.add(matcher.group(1)); - } - } - log.debug("Found {} lessons", lessons.size()); - } catch (IOException e) { - log.warn("No lessons found..."); - } - } - - public List applyPattern(String pattern) { - return lessons.stream().map(lesson -> String.format(pattern, lesson)).toList(); - } -} diff --git a/src/main/java/org/owasp/webgoat/lessons/httpbasics/HttpBasicsQuiz.java b/src/main/java/org/owasp/webgoat/lessons/httpbasics/HttpBasicsQuiz.java index eb497c7e6..67ff78319 100644 --- a/src/main/java/org/owasp/webgoat/lessons/httpbasics/HttpBasicsQuiz.java +++ b/src/main/java/org/owasp/webgoat/lessons/httpbasics/HttpBasicsQuiz.java @@ -27,7 +27,6 @@ import static org.owasp.webgoat.container.assignments.AttackResultBuilder.succes import org.owasp.webgoat.container.assignments.AssignmentEndpoint; import org.owasp.webgoat.container.assignments.AssignmentHints; -import org.owasp.webgoat.container.assignments.AssignmentPath; import org.owasp.webgoat.container.assignments.AttackResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -36,7 +35,6 @@ import org.springframework.web.bind.annotation.RestController; @RestController @AssignmentHints({"http-basics.hints.http_basic_quiz.1", "http-basics.hints.http_basic_quiz.2"}) -@AssignmentPath("HttpBasics/attack2") public class HttpBasicsQuiz implements AssignmentEndpoint { @PostMapping("/HttpBasics/attack2") diff --git a/src/main/resources/lessons/xxe/csv/flights.txt b/src/main/resources/lessons/xxe/csv/flights.txt deleted file mode 100644 index 166c7bb20..000000000 --- a/src/main/resources/lessons/xxe/csv/flights.txt +++ /dev/null @@ -1,69 +0,0 @@ -price,destination,departure date,arrive date,departing from -1223,HNL,12/26/13,01/02/14,SFO -1223,HNL,12/26/13,01/02/14,SFO -1131,SJU,12/26/13,01/02/14,SFO -1175,SJU,12/26/13,01/02/14,SFO -1430,BCN,12/26/13,01/02/14,SFO -1180,FRA,12/26/13,01/02/14,SFO -1683,LIM,12/26/13,01/02/14,SFO -1119,LHR,12/26/13,01/02/14,SFO -858,CUN,12/26/13,01/02/14,SFO -888,SJD,12/26/13,01/02/14,SFO -1223,HNL,12/26/13,01/02/14,OAK -1208,SJU,12/26/13,01/02/14,OAK -1428,FRA,12/26/13,01/02/14,OAK -1864,LIM,12/26/13,01/02/14,OAK -1484,LHR,12/26/13,01/02/14,OAK -977,CUN,12/26/13,01/02/14,OAK -868,SJD,12/26/13,01/02/14,OAK -1394,HNL,12/26/13,01/02/14,BOS -734,SJU,12/26/13,01/02/14,BOS -1299,BCN,12/26/13,01/02/14,BOS -1141,FRA,12/26/13,01/02/14,BOS -944,CUN,12/26/13,01/02/14,BOS -1355,SJD,12/26/13,01/02/14,BOS -595,HNL,01/04/14,01/11/14,SFO -587,SJU,01/04/14,01/11/14,SFO -1385,BCN,01/04/14,01/11/14,SFO -1376,FRA,01/04/14,01/11/14,SFO -1005,LIM,01/04/14,01/11/14,SFO -1396,LHR,01/04/14,01/11/14,SFO -496,CUN,01/04/14,01/11/14,SFO -363,SJD,01/04/14,01/11/14,SFO -563,HNL,01/04/14,01/11/14,OAK -857,SJU,01/04/14,01/11/14,OAK -1743,BCN,01/04/14,01/11/14,OAK -1768,FRA,01/04/14,01/11/14,OAK -1355,LIM,01/04/14,01/11/14,OAK -2039,LHR,01/04/14,01/11/14,OAK -1035,HNL,01/04/14,01/11/14,BOS -533,SJU,01/04/14,01/11/14,BOS -1206,BCN,01/04/14,01/11/14,BOS -1180,LHR,01/04/14,01/11/14,BOS -432,CUN,01/04/14,01/11/14,BOS -612,SJD,01/04/14,01/11/14,BOS -473,HNL,1/09/14,01/17/14,SFO -417,SJU,1/09/14,01/17/14,SFO -864,BCN,1/09/14,01/17/14,SFO -953,LHR,1/09/14,01/17/14,SFO -450,CUN,1/09/14,01/17/14,SFO -363,SJD,1/09/14,01/17/14,SFO -417,HNL,1/09/14,01/17/14,OAK -577,SJU,1/09/14,01/17/14,OAK -993,LIM,1/09/14,01/17/14,OAK -1039,LHR,1/09/14,01/17/14,OAK -460,CUN,1/09/14,01/17/14,OAK -368,SJD,1/09/14,01/17/14,OAK -738,HNL,1/09/14,01/17/14,BOS -309,SJU,1/09/14,01/17/14,BOS -716,BCN,1/09/14,01/17/14,BOS -859,FRA,1/09/14,01/17/14,BOS -1121,LIM,1/09/14,01/17/14,BOS -591,SJD,1/09/14,01/17/14,BOS -422,HNL,01/14/14,01/23/14,SFO -385,SJU,01/14/14,01/23/14,SFO -892,BCN,01/14/14,01/23/14,SFO -956,FRA,01/14/14,01/23/14,SFO -723,LIM,01/14/14,01/23/14,SFO -894,LHR,01/14/14,01/23/14,SFO -397,HNL,01/14/14,01/23/14,OAK