diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java
index 11388d196..07fabc360 100644
--- a/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java
+++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java
@@ -905,7 +905,12 @@ public class WebSession
eatCookies();
hintNum = -1;
}
-
+ else if (myParser.getRawParameter( STAGE, null ) != null)
+ {
+ int stage = myParser.getIntParameter(STAGE, getCurrentLesson().getStage(this));
+ if (stage > 0 && stage <= getCurrentLesson().getStageCount())
+ getCurrentLesson().setStage(this, stage);
+ }
// else update global variables for the current screen
else
{
diff --git a/ webgoat/main/project/WebContent/main.jsp b/ webgoat/main/project/WebContent/main.jsp
index 81ccea007..b261471e5 100644
--- a/ webgoat/main/project/WebContent/main.jsp
+++ b/ webgoat/main/project/WebContent/main.jsp
@@ -196,6 +196,20 @@ StringBuffer buildList = new StringBuffer();
Close this Window
+ <%
+ if (webSession.isDebug()&& webSession.getCurrentLesson().getStageCount() > 1) {
+ %>