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) { + %>
+
<% + } + %>
<%=webSession.getInstructions()%>
<%=webSession.getMessage()%>