diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d20621aed..346f83f96 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: distribution: 'temurin' java-version: '21' - name: Pre-commit checks - uses: pre-commit/action@v3.0.0 + uses: pre-commit/action@v3.0.1 - name: pre-commit-ci-lite uses: pre-commit-ci/lite-action@v1.1.0 if: always() diff --git a/pom.xml b/pom.xml index 48d95ff3f..2b4e67f72 100644 --- a/pom.xml +++ b/pom.xml @@ -93,7 +93,7 @@ UTF-8 UTF-8 3.1.2.RELEASE - 30 + 60 5.9.2 / false diff --git a/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderJKUEndpoint.java b/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderJKUEndpoint.java index b7945cb83..4272b79ca 100644 --- a/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderJKUEndpoint.java +++ b/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderJKUEndpoint.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; -@RequestMapping("/JWT/jku") +@RequestMapping("/JWT/") @RestController @AssignmentHints({ "jwt-jku-hint1", @@ -30,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController; }) public class JWTHeaderJKUEndpoint extends AssignmentEndpoint { - @PostMapping("/follow/{user}") + @PostMapping("jku/follow/{user}") public @ResponseBody String follow(@PathVariable("user") String user) { if ("Jerry".equals(user)) { return "Following yourself seems redundant"; @@ -39,7 +39,7 @@ public class JWTHeaderJKUEndpoint extends AssignmentEndpoint { } } - @PostMapping("/delete") + @PostMapping("jku/delete") public @ResponseBody AttackResult resetVotes(@RequestParam("token") String token) { if (StringUtils.isEmpty(token)) { return failed(this).feedback("jwt-invalid-token").build(); diff --git a/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderKIDEndpoint.java b/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderKIDEndpoint.java index 237c0195d..56b88c9f4 100644 --- a/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderKIDEndpoint.java +++ b/src/main/java/org/owasp/webgoat/lessons/jwt/claimmisuse/JWTHeaderKIDEndpoint.java @@ -52,7 +52,7 @@ import org.springframework.web.bind.annotation.RestController; "jwt-kid-hint5", "jwt-kid-hint6" }) -@RequestMapping("/JWT/kid") +@RequestMapping("/JWT/") public class JWTHeaderKIDEndpoint extends AssignmentEndpoint { private final LessonDataSource dataSource; @@ -61,7 +61,7 @@ public class JWTHeaderKIDEndpoint extends AssignmentEndpoint { this.dataSource = dataSource; } - @PostMapping("/follow/{user}") + @PostMapping("kid/follow/{user}") public @ResponseBody String follow(@PathVariable("user") String user) { if ("Jerry".equals(user)) { return "Following yourself seems redundant"; @@ -70,7 +70,7 @@ public class JWTHeaderKIDEndpoint extends AssignmentEndpoint { } } - @PostMapping("/delete") + @PostMapping("kid/delete") public @ResponseBody AttackResult resetVotes(@RequestParam("token") String token) { if (StringUtils.isEmpty(token)) { return failed(this).feedback("jwt-invalid-token").build(); diff --git a/src/main/java/org/owasp/webgoat/lessons/passwordreset/ResetLinkAssignment.java b/src/main/java/org/owasp/webgoat/lessons/passwordreset/ResetLinkAssignment.java index be1da20fd..eae7e4cfe 100644 --- a/src/main/java/org/owasp/webgoat/lessons/passwordreset/ResetLinkAssignment.java +++ b/src/main/java/org/owasp/webgoat/lessons/passwordreset/ResetLinkAssignment.java @@ -22,6 +22,8 @@ package org.owasp.webgoat.lessons.passwordreset; +import static org.springframework.util.StringUtils.hasText; + import com.google.common.collect.Maps; import java.util.ArrayList; import java.util.HashMap; @@ -117,7 +119,7 @@ public class ResetLinkAssignment extends AssignmentEndpoint { BindingResult bindingResult, @CurrentUsername String username) { ModelAndView modelAndView = new ModelAndView(); - if (!org.springframework.util.StringUtils.hasText(form.getPassword())) { + if (!hasText(form.getPassword())) { bindingResult.rejectValue("password", "not.empty"); } if (bindingResult.hasErrors()) { diff --git a/src/main/resources/lessons/authbypass/html/AuthBypass.html b/src/main/resources/lessons/authbypass/html/AuthBypass.html index 2fdeeb826..3fe332619 100644 --- a/src/main/resources/lessons/authbypass/html/AuthBypass.html +++ b/src/main/resources/lessons/authbypass/html/AuthBypass.html @@ -23,7 +23,7 @@
+ th:action="@{/auth-bypass/verify-account}">

Verify Your Account by answering the questions below:

What is the name of your favorite teacher?

@@ -43,7 +43,7 @@

Please provide a new password for your account

diff --git a/src/main/resources/lessons/bypassrestrictions/html/BypassRestrictions.html b/src/main/resources/lessons/bypassrestrictions/html/BypassRestrictions.html index d1c8d3001..e947734e2 100755 --- a/src/main/resources/lessons/bypassrestrictions/html/BypassRestrictions.html +++ b/src/main/resources/lessons/bypassrestrictions/html/BypassRestrictions.html @@ -18,7 +18,7 @@
+ th:action="@{/BypassRestrictions/FieldRestrictions}">
Select field with two possible value
diff --git a/src/main/resources/lessons/challenges/html/Challenge1.html b/src/main/resources/lessons/challenges/html/Challenge1.html index 9122f2337..03f5f05cf 100644 --- a/src/main/resources/lessons/challenges/html/Challenge1.html +++ b/src/main/resources/lessons/challenges/html/Challenge1.html @@ -17,7 +17,7 @@
@@ -37,7 +37,7 @@
- +