diff --git a/webgoat-lessons/pom.xml b/webgoat-lessons/pom.xml index c51ddc0dd..49d9988e7 100644 --- a/webgoat-lessons/pom.xml +++ b/webgoat-lessons/pom.xml @@ -27,6 +27,7 @@ xxe idor vulnerable-components + webgoat-introduction webwolf-introduction auth-bypass missing-function-ac diff --git a/webgoat-lessons/webgoat-introduction/pom.xml b/webgoat-lessons/webgoat-introduction/pom.xml new file mode 100644 index 000000000..a7ce360f7 --- /dev/null +++ b/webgoat-lessons/webgoat-introduction/pom.xml @@ -0,0 +1,11 @@ + + 4.0.0 + webgoat-introduction + jar + + org.owasp.webgoat.lesson + webgoat-lessons-parent + 8.0.0.M2 + + \ No newline at end of file diff --git a/webgoat-lessons/webgoat-introduction/pom.xml.versionsBackup b/webgoat-lessons/webgoat-introduction/pom.xml.versionsBackup new file mode 100644 index 000000000..f196aca19 --- /dev/null +++ b/webgoat-lessons/webgoat-introduction/pom.xml.versionsBackup @@ -0,0 +1,11 @@ + + 4.0.0 + webwolf-introduction + jar + + org.owasp.webgoat.lesson + webgoat-lessons-parent + 8.0-SNAPSHOT + + \ No newline at end of file diff --git a/webgoat-lessons/webgoat-introduction/src/main/java/org/owasp/webgoat/plugin/WebGoatIntroduction.java b/webgoat-lessons/webgoat-introduction/src/main/java/org/owasp/webgoat/plugin/WebGoatIntroduction.java new file mode 100644 index 000000000..89d6482a5 --- /dev/null +++ b/webgoat-lessons/webgoat-introduction/src/main/java/org/owasp/webgoat/plugin/WebGoatIntroduction.java @@ -0,0 +1,63 @@ +package org.owasp.webgoat.plugin; + +import org.owasp.webgoat.lessons.Category; +import org.owasp.webgoat.lessons.NewLesson; + +import java.util.ArrayList; +import java.util.List; + +/** + * ************************************************************************************************ + * This file is part of WebGoat, an Open Web Application Security Project utility. For details, + * please see http://www.owasp.org/ + *

+ * Copyright (c) 2002 - 20014 Bruce Mayhew + *

+ * This program is free software; you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License along with this program; if + * not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + *

+ * Getting Source ============== + *

+ * Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software + * projects. + *

+ * + * @author WebGoat + * @version $Id: $Id + * @since October 12, 2016 + */ +public class WebGoatIntroduction extends NewLesson { + @Override + public Category getDefaultCategory() { + return Category.INTRODUCTION; + } + + @Override + public List getHints() { + return new ArrayList(); + } + + @Override + public Integer getDefaultRanking() { + return 1; + } + + @Override + public String getTitle() { + return "webgoat.title"; + } + + @Override + public String getId() { + return "WebGoatIntroduction"; + } +} diff --git a/webgoat-lessons/webgoat-introduction/src/main/resources/html/WebGoatIntroduction.html b/webgoat-lessons/webgoat-introduction/src/main/resources/html/WebGoatIntroduction.html new file mode 100644 index 000000000..74cc173b4 --- /dev/null +++ b/webgoat-lessons/webgoat-introduction/src/main/resources/html/WebGoatIntroduction.html @@ -0,0 +1,8 @@ + + + +

+
+
+ + diff --git a/webgoat-lessons/webgoat-introduction/src/main/resources/i18n/WebGoatLabels.properties b/webgoat-lessons/webgoat-introduction/src/main/resources/i18n/WebGoatLabels.properties new file mode 100644 index 000000000..f08d83cf4 --- /dev/null +++ b/webgoat-lessons/webgoat-introduction/src/main/resources/i18n/WebGoatLabels.properties @@ -0,0 +1 @@ +webgoat.title=WebGoat \ No newline at end of file diff --git a/webgoat-lessons/webgoat-introduction/src/main/resources/images/wg_logo.png b/webgoat-lessons/webgoat-introduction/src/main/resources/images/wg_logo.png new file mode 100644 index 000000000..dcf0e0398 Binary files /dev/null and b/webgoat-lessons/webgoat-introduction/src/main/resources/images/wg_logo.png differ diff --git a/webgoat-lessons/webgoat-introduction/src/main/resources/lessonPlans/en/Introduction.adoc b/webgoat-lessons/webgoat-introduction/src/main/resources/lessonPlans/en/Introduction.adoc new file mode 100644 index 000000000..2af6d0a0d --- /dev/null +++ b/webgoat-lessons/webgoat-introduction/src/main/resources/lessonPlans/en/Introduction.adoc @@ -0,0 +1,21 @@ +== Introducing WebGoat + + +--- +What is WebGoat? + +WebGoat is a deliberately insecure application that allows interested developers just like you to _test vulnerabilities_ +commonly found in Java-based applications that use common and popular open source components. + +Now, while we in no way condone causing intentional harm to any animal, goat or otherwise, we think learning everything +you can about security vulnerabilities is essential to understanding just what happens when even a small bit of +unintended code gets into your applications. + +What better way to do that than with your very own scapegoat? + +Feel free to do what you will with Hack. Poke, prod and if it makes you feel better, scare him until your heart’s content. +Go ahead, and Hack the goat. We promise he likes it. + +Thanks for your interest! + +*The WebGoat Team* diff --git a/webgoat-lessons/webwolf-introduction/src/main/resources/html/WebWolfIntroduction.html b/webgoat-lessons/webwolf-introduction/src/main/resources/html/WebWolfIntroduction.html index 1657bade0..3e95b703f 100644 --- a/webgoat-lessons/webwolf-introduction/src/main/resources/html/WebWolfIntroduction.html +++ b/webgoat-lessons/webwolf-introduction/src/main/resources/html/WebWolfIntroduction.html @@ -2,7 +2,7 @@
-
+
diff --git a/webgoat-lessons/webwolf-introduction/src/main/resources/lessonPlans/en/Introduction.adoc b/webgoat-lessons/webwolf-introduction/src/main/resources/lessonPlans/en/IntroductionWebWolf.adoc similarity index 89% rename from webgoat-lessons/webwolf-introduction/src/main/resources/lessonPlans/en/Introduction.adoc rename to webgoat-lessons/webwolf-introduction/src/main/resources/lessonPlans/en/IntroductionWebWolf.adoc index d3af4cc71..16f5bafc2 100644 --- a/webgoat-lessons/webwolf-introduction/src/main/resources/lessonPlans/en/Introduction.adoc +++ b/webgoat-lessons/webwolf-introduction/src/main/resources/lessonPlans/en/IntroductionWebWolf.adoc @@ -1,5 +1,8 @@ == Introducing WebWolf +NOTE: You only need WebWolf if you a lesson specifies you can use it. For a lot of lessons you use WebGoat without +starting WebWolf. + WebWolf is a separate web application which simulates an attackers machine. It makes it possible for us to make a clear distinction between what takes place on the attacked website and the actions you need to do as an "attacker". WebWolf was introduced after a couple of workshops where we received feedback about the fact there diff --git a/webgoat-server/pom.xml b/webgoat-server/pom.xml index 881ffbf90..a808f480f 100644 --- a/webgoat-server/pom.xml +++ b/webgoat-server/pom.xml @@ -174,6 +174,11 @@ auth-bypass ${project.version} + + org.owasp.webgoat.lesson + webgoat-introduction + ${project.version} + org.owasp.webgoat.lesson webwolf-introduction