From e78ea07b3f0c5b512e5c4975c5bcc329f4bae4ee Mon Sep 17 00:00:00 2001 From: "mayhew64@gmail.com" Date: Wed, 11 Nov 2009 03:34:14 +0000 Subject: [PATCH] Minor changes to missing internationalization text and startup scripts. Removed internationalization choices for lessons that don't support it git-svn-id: http://webgoat.googlecode.com/svn/trunk/webgoat@411 4033779f-a91e-0410-96ef-6bf7bf53c507 --- .../webgoat/lessons/SqlStringInjection.java | 2 +- .../WebGoatLabels_english.properties | 16 +- .../resources/WebGoatLabels_german.properties | 8 +- src/main/scripts/server_80.xml | 406 ++++++++++++++++++ src/main/scripts/server_8080.xml | 406 ++++++++++++++++++ src/main/scripts/webgoat.bat | 2 +- src/main/scripts/webgoat_8080.bat | 2 +- src/main/webapp/main.jsp | 17 +- 8 files changed, 832 insertions(+), 27 deletions(-) create mode 100644 src/main/scripts/server_80.xml create mode 100644 src/main/scripts/server_8080.xml diff --git a/src/main/java/org/owasp/webgoat/lessons/SqlStringInjection.java b/src/main/java/org/owasp/webgoat/lessons/SqlStringInjection.java index fd9d4dfd4..3cf57aaa2 100644 --- a/src/main/java/org/owasp/webgoat/lessons/SqlStringInjection.java +++ b/src/main/java/org/owasp/webgoat/lessons/SqlStringInjection.java @@ -114,7 +114,7 @@ public class SqlStringInjection extends SequentialLessonAdapter StringBuffer msg = new StringBuffer(); - msg.append(WebGoatI18N.get("NumericSqlInjectionSecondStage1")); + msg.append(WebGoatI18N.get("StringSqlInjectionSecondStage")); s.setMessage(msg.toString()); } diff --git a/src/main/resources/WebGoatLabels_english.properties b/src/main/resources/WebGoatLabels_english.properties index ed804f909..c3bee7ec3 100644 --- a/src/main/resources/WebGoatLabels_english.properties +++ b/src/main/resources/WebGoatLabels_english.properties @@ -5,7 +5,6 @@ SolutionVideos=Solution Videos ErrorGenerating=Error generating InvalidData=Invalid Data - #HttpBasics.java EnterYourName=Enter your Name Go!=Go! @@ -68,9 +67,6 @@ RemoteAdminFlawHint5=On success you will see new submenu items in the menupoint - - - #PathBasedAccessControl.java CurrentDirectory=Current Directory is: ChooseFileToView=Choose the file to view: @@ -99,8 +95,6 @@ PathBasedAccessControlHint3=Try .. in the path PathBasedAccessControlHint4=Try ..\\..\\..\\LICENSE - - #CommandInjection.java Command=Command CommandInjectionRightTrack1=It appears that you are on the right track. Commands that may compromise the operating system have been disabled. The following commands are allowed: netstat -a, dir, ls, ifconfig, and ipconfig. @@ -117,18 +111,15 @@ CommandInjectionHint4=Note that the server may enclose the submitted file name w #NumericSqlInjection.java -NumericSqlInjectionSecondStage=Bet you can't do it again! This lesson has detected your successfull attack and has now switched to a defensive mode. Try again to attack a parameterized query. +NumericSqlInjectionSecondStage=Bet you can't do it again! This lesson has detected your successful attack and has now switched to a defensive mode. Try again to attack a parameterized query. NoResultsMatched=No results matched. Try Again. NumericSqlInjectionSecondStage2=Now that you have successfully performed an SQL injection, try the same type of attack on a parameterized query. ErrorParsingAsNumber=Error parsing station as a number: SelectYourStation=Select your local weather station: - SqlNumericInjectionHint1=The application is taking the input from the select box and inserts it at the end of a pre-formed SQL command. SqlNumericInjectionHint2=This is the code for the query being built and issued by WebGoat:

"SELECT * FROM weather_data WHERE station = " + station SqlNumericInjectionHint3=Compound SQL statements can be made by joining multiple tests with keywords like AND and OR. Try appending a SQL statement that always resolves to true. SqlNumericInjectionHint4=Try to intercept the post request with WebScarab and replace the station with [ 101 OR 1 = 1 ]. - - #StringSqlInjection.java @@ -140,12 +131,7 @@ SqlStringInjectionHint2=This is the code for the query being built and issued by SqlStringInjectionHint3=Compound SQL statements can be made by joining multiple tests with keywords like AND and OR. Try appending a SQL statement that always resolves to true SqlStringInjectionHint4=Try entering [ smith' OR '1' = '1 ]. - - - - - #LogSpoofing.java LoginFailedForUserName=Login failed for username LoginSucceededForUserName=LOGIN SUCCEEDED FOR USERNAME diff --git a/src/main/resources/WebGoatLabels_german.properties b/src/main/resources/WebGoatLabels_german.properties index cfd190b41..a9ac28b90 100644 --- a/src/main/resources/WebGoatLabels_german.properties +++ b/src/main/resources/WebGoatLabels_german.properties @@ -23,6 +23,7 @@ BasicAuthenticationAlmostThere2= Header manipuliert aber Sie sind immernoch als BasicAuthenticationAlmostThere3= eingeloggt. Schauen Sie sich den Request an nachdem Sie die 'basic' Authentisierungsdaten eingetippt haben und die Anfrage abgeschickt haben. Halten Sie sich die Reihenfolge der Ereignisse die bei Basic Authentication eintreten vor Augen. BasicAuthenticationReallyClose=Sie sind sehr nahe dran! Durch das Ändern des Session Cookie haben Sie den Server dazu gebracht eine neue Session für Sie zu erstellen. Dies hat sie allerdings nicht re-authentisiert. Wenn Sie herausgefunden haben wie Sie den Server dazu zwingen können Sie zu re-authentisieren dann authentisieren Sie sich als:

    user name: basic
    password: basic
BasicAuthenticationUseTheHints=Benutzen Sie die Hinweise! Einen nach dem anderen... + BasicAuthenticationHint1=Basic authentication uses a cookie to pass the credentials. Use a proxy to intercept the request. Look at the cookies. BasicAuthenticationHint2=Basic authentication uses Base64 encoding to 'scramble' the " + "user's login credentials. @@ -36,7 +37,6 @@ BasicAuthenticationHint8=If the session is invalid and the basic authentication BasicAuthenticationHint9=Intercept the request and corrupt the JSESSIONID and the Authorization header. - #WeakAuthenticationCookie.java InvalidCookie=Ungültiger Cookie! IdentityRemembered=Ihre Identität wurde abgespeichert @@ -89,7 +89,6 @@ File=Datei: Dir=Verzeichnis: IsFile= - isFile() (ist eine Datei): Exists= - exists() (existiert): - PathBasedAccessControlHint1=Most operating systems allow special characters in the path. PathBasedAccessControlHint2=Use a file explorer to find the tomcat\\webapps\\WebGoat\\lesson_plans directory"); PathBasedAccessControlHint3=Try .. in the path @@ -112,9 +111,9 @@ CommandInjectionHint4=Note that the server may enclose the submitted file name w #NumericSqlInjection.java -SecondStage=Ich wette das können Sie nicht wiederholen. Diese Lektion hat nun in einen defensiven Modus gewechselt. Versuchen Sie nun eine parametrisierte Anfrage anzugreifen. +NumericSqlInjectionSecondStage=Ich wette das können Sie nicht wiederholen. Diese Lektion hat nun in einen defensiven Modus gewechselt. Versuchen Sie nun eine parametrisierte Anfrage anzugreifen. NoResultsMatched=Keine Resultate gefunden. Versuchen Sie es erneut. -SecondStage2=Da sie nun erfolgreich eine SQL Injection durchgeführt haben, versuchen Sie denselben Typ von Angriff auf eine parametrisierte Anfrage. +NumericSqlInjectionSecondStage2=Da sie nun erfolgreich eine SQL Injection durchgeführt haben, versuchen Sie denselben Typ von Angriff auf eine parametrisierte Anfrage. ErrorParsingAsNumber=Fehler beim interpretieren der Wetterstationsnummer als Zahl: SelectYourStation=Wählen Sie Ihre lokale Wetterstation aus: SqlNumericInjectionHint1=The application is taking the input from the select box and inserts it at the end of a pre-formed SQL command. @@ -155,7 +154,6 @@ MessageList=Nachrichtenliste CouldNotAddMessage=Could not add message to database ErroGeneratingMessageList=Error while getting message list. - #ReflectedXSS.java ReflectedXSSWhoops1=Ups! Sie haben ReflectedXSSWhoops2= anstatt des drei stelligen Codes eingegeben. Bitte versuchen Sie es erneut. diff --git a/src/main/scripts/server_80.xml b/src/main/scripts/server_80.xml new file mode 100644 index 000000000..71fa1729f --- /dev/null +++ b/src/main/scripts/server_80.xml @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/scripts/server_8080.xml b/src/main/scripts/server_8080.xml new file mode 100644 index 000000000..b8d1f4e86 --- /dev/null +++ b/src/main/scripts/server_8080.xml @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/scripts/webgoat.bat b/src/main/scripts/webgoat.bat index 885ccd849..f1a52d1e6 100644 --- a/src/main/scripts/webgoat.bat +++ b/src/main/scripts/webgoat.bat @@ -13,7 +13,7 @@ set PWD=%cd% set CATALINA_HOME=%PWD%\tomcat set JAVA_HOME=%PWD%\java -delete .\tomcat\conf\server.xml +del .\tomcat\conf\server.xml copy .\tomcat\conf\server_80.xml .\tomcat\conf\server.xml @REM Run tomcat: must have quotes incase var has spaces in it diff --git a/src/main/scripts/webgoat_8080.bat b/src/main/scripts/webgoat_8080.bat index a7f9dbb3f..e3edb64f6 100644 --- a/src/main/scripts/webgoat_8080.bat +++ b/src/main/scripts/webgoat_8080.bat @@ -13,7 +13,7 @@ set PWD=%cd% set CATALINA_HOME=%PWD%\tomcat set JAVA_HOME=%PWD%\java -delete .\tomcat\conf\server.xml +del .\tomcat\conf\server.xml copy .\tomcat\conf\server_8080.xml .\tomcat\conf\server.xml @REM Run tomcat: must have quotes incase var has spaces in it diff --git a/src/main/webapp/main.jsp b/src/main/webapp/main.jsp index 1accc610a..9df682eb9 100644 --- a/src/main/webapp/main.jsp +++ b/src/main/webapp/main.jsp @@ -116,7 +116,9 @@ StringBuffer buildList = new StringBuffer();
- + <% if (currentLesson.getAvailableLanguages().size() != 0 ) + { + %>
Choose another language:
+ %> + + <% + } else { + %> + Internationalization is not available for this lesson + <% + } + %> +