Commit Graph

167 Commits

Author SHA1 Message Date
3bc2e57c9c Fix NPE in IDOR lesson 2023-08-26 02:22:33 +02:00
a67fbf5a5a fix: XSS mitigation 2023-08-26 01:30:17 +02:00
368c046779 fix: Stored Cross-Site Scripting Lesson 2023-08-25 20:55:26 +02:00
a9b1fd66b8 feat: implement JWT jku example (#1552)
Closes #1539
2023-08-08 17:18:22 +02:00
61de52840f chore: bump com.diffplug.spotless:spotless-maven-plugin from 2.33.0 to 2.38.0 (#1535)
* chore: bump com.diffplug.spotless:spotless-maven-plugin

Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.33.0 to 2.38.0.
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/lib/2.33.0...lib/2.38.0)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: format code

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nanne Baars <nanne.baars@owasp.org>
2023-07-30 15:10:31 +02:00
25f49537e7 bug: Fix IDOR lesson 2023-07-16 17:14:27 +02:00
8ec718c1ef format 2023-06-15 19:26:33 +02:00
75398feca0 Add hints 2023-06-15 19:26:33 +02:00
ca886b4818 feat: upgrade to Spring Boot version 3 (#1477) 2023-06-04 11:19:47 +02:00
cbf2e153d9 Restrict SSRF Regexes 2023-03-08 23:22:38 +01:00
e50986a098 fix: challenge 7 (#1433) 2023-02-22 22:55:48 +01:00
5dbe2eaf19 refactor: update challenge code
- Flags are now wired through a Spring config
- Introduced Flag class
- Removed Flags from the FlagController
2023-02-22 11:01:34 +01:00
ecfc321f14 feature: Add extra feedback once someone solves JWT refresh lesson differently
One can solve this lesson by using `alg:none` instead of using the refresh token flow. Instead of adding a check to force using the refresh token we opt for giving the user extra feedback.
2023-02-16 20:32:27 +00:00
73b8c431fc chore: use constructor instead of field dependency injection 2023-02-16 20:32:27 +00:00
693771220c fix: change url in JavaScript for JWT endpoint
The JavaScript pointed to the context root /WebWolf/ which is no longer in use.
2023-02-16 12:24:02 +00:00
3ec34b0df5 fix: challenge test fails sometimes when calling scoreboard endpoint 2023-02-15 19:01:06 +00:00
bd398e4c09 #1396 Fix templates path for views 2023-02-15 11:58:49 +00:00
59bfd7c6d4 Move XXE to A05 - Security Misconfiguration 2023-01-05 19:00:12 +01:00
fcaa2d8589 Fix zip slip lesson.
The lesson did not work properly as the directory is reused across several path traversal lessons. First thing before uploading the zip file we now clean the directory.

The html had a reference to a location of the profile picture, this was part of a hint but this only causes confusion as this is not indicating to where you need to upload the picture with the Zip Slip vulnerability.

The assignment now contains a direct hint as where the image needs to be saved. The assignment is about creating a vulnerable zip file and NOT about guessing where the image should be saved inside WebGoat.
2023-01-05 11:02:45 +01:00
d2a1546dff Apply formatting
This will make sure we have a consistent style across our project and the PRs are only concerned with actual changes and no longer about style.
2023-01-04 08:07:23 +01:00
b03777d39b Support boolean when parsing the token.
When the admin json element passes as a `boolean`:

```
{
 "admin": true
}
```

the parsing is now successful.
2023-01-04 07:43:18 +01:00
8db9ff30be Fixed incorrect word
while "wear" and "were" have similar pronunciation, one of them is better here than the other :)
2022-11-29 18:55:44 +01:00
34f5b79249 isReadable works inside a container, isFile not (#1334) 2022-09-12 09:02:07 +02:00
50f932b02e Renamed to webwolfintroduction 2022-07-31 22:39:21 +02:00
251167c6b0 Renamed to webgoatintroduction 2022-07-31 22:39:21 +02:00
256c1dd3aa Renamed to vulnerablecomponents 2022-07-31 22:39:21 +02:00
b93c935d6c Renamed to sqlinjection 2022-07-31 22:39:21 +02:00
827a9d3467 Renamed to securepasswords 2022-07-31 22:39:21 +02:00
91470b93ea Renamed to pathtraversal 2022-07-31 22:39:21 +02:00
37d684fdd3 Renamed to passwordreset 2022-07-31 22:39:21 +02:00
4f911c64a1 Renamed to missingac 2022-07-31 22:39:21 +02:00
e0a0a80ad9 Renamed to lessontemplate 2022-07-31 22:39:21 +02:00
26c289d7d4 Renamed to insecurelogin 2022-07-31 22:39:21 +02:00
1eff81718b Renamed to httpproxies 2022-07-31 22:39:21 +02:00
08ce1add01 Renamed to httpbasics 2022-07-31 22:39:21 +02:00
25948306bd Renamed to htmltampering 2022-07-31 22:39:21 +02:00
1c86f465dc Renamed to clientsidefiltering 2022-07-31 22:39:21 +02:00
3b330fb328 Renamed to chromedevtools 2022-07-31 22:39:21 +02:00
8a35316985 Rename to bypassrestrictions 2022-07-31 22:39:21 +02:00
c63345e4ee Rename authbypass 2022-07-31 22:39:21 +02:00
06b7244de7 Move XXE lesson to category A3: Injection 2022-07-23 09:39:52 +02:00
260168bb3f Remove automatic selection of a random port 2022-07-23 09:39:52 +02:00
20dd3ffb95 Lang switch (#1297)
* language selector first steps

* language german intro added

* ascii doc lang attribute as additional option

* removed some commented code

* changed adoc resource loader to take into account the selected language

* added readme

* added lang test cases
2022-07-20 10:52:48 +02:00
16af4272a5 joda time refactored some dep fix (#1292) 2022-07-14 09:11:06 +02:00
f8b7ca5c85 Pom update (#1290)
* asciidoctorj update

* pom and suppression updates
2022-07-11 13:28:44 +02:00
e4eb5d783a Some updates and code improvements (#1288)
* try with resources

* StringBuilder

* removed ant and updated spring boot
2022-07-10 17:13:26 +02:00
b32240f96b owasp top10-2021 (#1235) 2022-04-11 21:12:41 +02:00
711649924b Refactoring (#1201)
* Some initial refactoring

* Make it one application

* Got it working

* Fix problem on Windows

* Move WebWolf

* Move first lesson

* Moved all lessons

* Fix pom.xml

* Fix tests

* Add option to initialize a lesson

This way we can create content for each user inside a lesson. The initialize method will be called when a new user is created or when a lesson reset happens

* Clean up pom.xml files

* Remove fetching labels based on language.

We only support English at the moment, all the lesson explanations are written in English which makes it very difficult to translate. If we only had labels it would make sense to support multiple languages

* Fix SonarLint issues

* And move it all to the main project

* Fix for documentation paths

* Fix pom warnings

* Remove PMD as it does not work

* Update release notes about refactoring

Update release notes about refactoring

Update release notes about refactoring

* Fix lesson template

* Update release notes

* Keep it in the same repo in Dockerhub

* Update documentation to show how the connection is obtained.

Resolves: #1180

* Rename all integration tests

* Remove command from Dockerfile

* Simplify GitHub actions

Currently, we use a separate actions for pull-requests and branch build.
This is now consolidated in one action.
The PR action triggers always, it now only trigger when the PR is
opened and not in draft.
Running all platforms on a branch build is a bit too much, it is better
 to only run all platforms when someone opens a PR.

* Remove duplicate entry from release notes

* Add explicit registry for base image

* Lesson scanner not working when fat jar

When running the fat jar we have to take into account we
are reading from the jar file and not the filesystem. In
this case you cannot use `getFile` for example.

* added info in README and fixed release docker

* changed base image and added ignore file

Co-authored-by: Zubcevic.com <rene@zubcevic.com>
2022-04-09 14:56:12 +02:00
42f373d66a Moved Maven multiproject setup 2015-08-11 21:57:12 +02:00
0d79d74ef8 plugin_extracted directory should be created if it does not exists 2015-08-04 19:57:08 +02:00