From b4af6471b109ff9f3f9e3c9c3307fb5e6f4bf830 Mon Sep 17 00:00:00 2001 From: "chuck@securityfoundry.com" Date: Tue, 20 Oct 2009 04:30:00 +0000 Subject: [PATCH] Three new lessons and supporting files and changes to other files. Some changes to other files may not be quite the "right" way to accomplish my goal, so they may need to be updated. I deleted the old BlindSQLInjection lesson (which was by me) since it is replaced by the two new lessons for BlindNumericSqlInjection and BlindStringSqlInjection. Other new lesson is for MaliciousFileExecution, which requires the Apache Commons fileupload library (which in turn needs the commons io library). git-svn-id: http://webgoat.googlecode.com/svn/trunk/webgoat@385 4033779f-a91e-0410-96ef-6bf7bf53c507 --- .../lessons/BlindNumericSqlInjection.java | 273 ++++++++++ .../webgoat/lessons/BlindSqlInjection.java | 237 --------- .../lessons/BlindStringSqlInjection.java | 322 +++++++++++ .../org/owasp/webgoat/lessons/Category.java | 11 +- .../lessons/MaliciousFileExecution.java | 501 ++++++++++++++++++ .../org/owasp/webgoat/session/CreateDB.java | 88 +++ .../org/owasp/webgoat/session/WebSession.java | 5 +- .../WEB-INF/lib/commons-fileupload-1.2.1.jar | Bin 0 -> 57779 bytes .../WebContent/WEB-INF/lib/commons-io-1.4.jar | Bin 0 -> 109043 bytes .../WebContent/images/logos/mandiant.png | Bin 0 -> 4940 bytes 10 files changed, 1195 insertions(+), 242 deletions(-) create mode 100644 main/project/JavaSource/org/owasp/webgoat/lessons/BlindNumericSqlInjection.java delete mode 100644 main/project/JavaSource/org/owasp/webgoat/lessons/BlindSqlInjection.java create mode 100644 main/project/JavaSource/org/owasp/webgoat/lessons/BlindStringSqlInjection.java create mode 100644 main/project/JavaSource/org/owasp/webgoat/lessons/MaliciousFileExecution.java create mode 100644 main/project/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar create mode 100644 main/project/WebContent/WEB-INF/lib/commons-io-1.4.jar create mode 100644 main/project/WebContent/images/logos/mandiant.png diff --git a/main/project/JavaSource/org/owasp/webgoat/lessons/BlindNumericSqlInjection.java b/main/project/JavaSource/org/owasp/webgoat/lessons/BlindNumericSqlInjection.java new file mode 100644 index 000000000..f67bb653f --- /dev/null +++ b/main/project/JavaSource/org/owasp/webgoat/lessons/BlindNumericSqlInjection.java @@ -0,0 +1,273 @@ +package org.owasp.webgoat.lessons; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import org.apache.ecs.Element; +import org.apache.ecs.ElementContainer; +import org.apache.ecs.html.A; +import org.apache.ecs.html.IMG; +import org.apache.ecs.html.Input; +import org.apache.ecs.html.P; +import org.owasp.webgoat.session.DatabaseUtilities; +import org.owasp.webgoat.session.ECSFactory; +import org.owasp.webgoat.session.WebSession; + +/******************************************************************************* + * + * + * This file is part of WebGoat, an Open Web Application Security Project + * utility. For details, please see http://www.owasp.org/ + * + * Copyright (c) 2002 - 2007 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 code.google.com, a repository + * for free software projects. + * + * For details, please see http://code.google.com/p/webgoat/ + * + * @author Chuck Willis Chuck's web + * site (this lesson is heavily based on Bruce Mayhews' SQL + * Injection lesson + * @created January 14, 2005 + */ +public class BlindNumericSqlInjection extends LessonAdapter +{ + + public final static A MANDIANT_LOGO = new A().setHref("http://www.mandiant.com").addElement(new IMG("images/logos/mandiant.png").setAlt("MANDIANT").setBorder(0).setHspace(0).setVspace(0)); + + private final static String ACCT_NUM = "account_number"; + + private final static String TARGET_CC_NUM = "1111222233334444"; + + /** + * Description of the Method + * + * @param s + * Description of the Parameter + * @return Description of the Return Value + */ + protected Element createContent(WebSession s) + { + ElementContainer ec = new ElementContainer(); + + try + { + Connection connection = DatabaseUtilities.getConnection(s); + + ec.addElement(new P().addElement("Enter your Account Number: ")); + + String accountNumber = s.getParser().getRawParameter(ACCT_NUM, "101"); + Input input = new Input(Input.TEXT, ACCT_NUM, accountNumber.toString()); + ec.addElement(input); + + Element b = ECSFactory.makeButton("Go!"); + ec.addElement(b); + + String query = "SELECT * FROM user_data WHERE userid = " + accountNumber; + String answer_query; +// if (runningOnWindows()) +// { +// answer_query = "SELECT TOP 1 first_name FROM user_data WHERE userid = " +// + TARGET_CC_NUM; +// } else +// { + answer_query = "SELECT pin FROM pins WHERE cc_number = '" + TARGET_CC_NUM + "'"; +// } + + try + { + Statement answer_statement = connection.createStatement( + ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet answer_results = answer_statement.executeQuery(answer_query); + answer_results.first(); + System.out.println("Account: " + accountNumber ); + System.out.println("Answer : " + answer_results.getString(1)); + if (accountNumber.toString().equals(answer_results.getString(1))) + { + makeSuccess(s); + } else + { + + Statement statement = connection.createStatement( + ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet results = statement.executeQuery(query); + + if ((results != null) && (results.first() == true)) + { + ec.addElement(new P().addElement("Account number is valid.")); + } else + { + ec.addElement(new P().addElement("Invalid account number.")); + } + } + } + catch (SQLException sqle) + { + ec.addElement(new P().addElement("An error occurred, please try again.")); + } + } + catch (Exception e) + { + s.setMessage("Error generating " + this.getClass().getName()); + e.printStackTrace(); + } + + return (ec); + } + + /** + * Gets the category attribute of the SqlInjection object + * + * @return The category value + */ + protected Category getDefaultCategory() + { + return Category.INJECTION; + } + + /** + * Gets the credits attribute of the AbstractLesson object + * + * @return The credits value + */ + public Element getCredits() + { + return super.getCustomCredits("Created by Chuck Willis ", MANDIANT_LOGO); + } + + /** + * Gets the hints attribute of the DatabaseFieldScreen object + * + * @return The hints value + */ + protected List getHints(WebSession s) + { + List hints = new ArrayList(); +// if (runningOnWindows()) +// { + hints + .add("Compound SQL statements can be made by joining multiple tests with keywords like AND and OR. " + + "Create a SQL statement that you can use as a true/false test and then " + + "start narrowing down the number using > and <" + + "

The backend database is HSQLDB, but this shouldn't make any difference because " + + "you can solve this lesson with standard SQL syntax."); + + hints + .add("The application is taking your input and inserting it at the end of a pre-formed SQL command. " + + "You will need to make use of the following SQL functions: " + + "

AND - combine the logic of the normal query with a boolean result" + + "

( and ) - group subexpressions so they evaluate properly" + + "

SELECT - make a subquery for your target data and get a number" + + "

> and = and < - once you have the number, compare it to a choosen one"); + + hints.add("This is the code for the query being built and issued by WebGoat:

" + + "\"SELECT * FROM user_data WHERE userid = \" + accountNumber "); + hints + .add("Here is an example for another table:" + + "

In the table user_data, is the userid for the record with a cc_number of " + + "333498703333" + + " greater than 100? " + + "

101 AND ((SELECT userid FROM user_data WHERE cc_number='" + + "333498703333" + + "') > 100 ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + hints + .add("Partial Solution:" + + "

Is the pin of the record with a cc_number of " + + TARGET_CC_NUM + + " greater than 1000? " + + "

101 AND ((SELECT pin FROM pins WHERE cc_number='" + + TARGET_CC_NUM + + "') > 1000 ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + hints + .add("Another Part of Solution:" + + "

Is the pin of the record with a cc_number of " + + TARGET_CC_NUM + + " greater than 10000? " + + "

101 AND ((SELECT pin FROM pins WHERE cc_number='" + + TARGET_CC_NUM + + "') > 10000 ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + + return hints; + } + + /** + * Gets the instructions attribute of the SqlInjection object + * + * @return The instructions value + */ + public String getInstructions(WebSession s) + { + String instructions = "The form below allows a user to enter an account number and determine if " + + "it is valid or not. Use this form to develop a true / false test check other entries in the database. " + + "

The goal is to find the value of " + + "the field pin in table pins for the row with the cc_number of " + + TARGET_CC_NUM + + ". The field is of type int, which is an integer." + + "

Put the discovered pin value in the form to pass the lesson."; + + return (instructions); + } + + private final static Integer DEFAULT_RANKING = new Integer(90); + + protected Integer getDefaultRanking() + { + return DEFAULT_RANKING; + } + + /** + * Gets the title attribute of the DatabaseFieldScreen object + * + * @return The title value + */ + public String getTitle() + { + return ("Blind Numeric SQL Injection"); + } + + /** + * Constructor for the DatabaseFieldScreen object + * + * @param s + * Description of the Parameter + */ + public void handleRequest(WebSession s) + { + try + { + super.handleRequest(s); + } + catch (Exception e) + { + System.out.println("Exception caught: " + e); + e.printStackTrace(System.out); + } + } +} diff --git a/main/project/JavaSource/org/owasp/webgoat/lessons/BlindSqlInjection.java b/main/project/JavaSource/org/owasp/webgoat/lessons/BlindSqlInjection.java deleted file mode 100644 index 974abb709..000000000 --- a/main/project/JavaSource/org/owasp/webgoat/lessons/BlindSqlInjection.java +++ /dev/null @@ -1,237 +0,0 @@ - -package org.owasp.webgoat.lessons; - -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; -import org.apache.ecs.Element; -import org.apache.ecs.ElementContainer; -import org.apache.ecs.StringElement; -import org.apache.ecs.html.Input; -import org.apache.ecs.html.P; -import org.owasp.webgoat.session.DatabaseUtilities; -import org.owasp.webgoat.session.ECSFactory; -import org.owasp.webgoat.session.WebSession; - - -/*************************************************************************************************** - * - * - * This file is part of WebGoat, an Open Web Application Security Project utility. For details, - * please see http://www.owasp.org/ - * - * Copyright (c) 2002 - 2007 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 code.google.com, a repository for free software - * projects. - * - * For details, please see http://code.google.com/p/webgoat/ - * - * @author Chuck Willis Chuck's web site (this lesson - * is heavily based on Bruce Mayhews' SQL Injection lesson - * @created January 14, 2005 - */ -public class BlindSqlInjection extends LessonAdapter -{ - - private final static String ACCT_NUM = "account_number"; - - private final static int TARGET_ACCT_NUM = 15613; - - /** - * Description of the Method - * - * @param s - * Description of the Parameter - * @return Description of the Return Value - */ - protected Element createContent(WebSession s) - { - ElementContainer ec = new ElementContainer(); - - try - { - Connection connection = DatabaseUtilities.getConnection(s); - - ec.addElement(new P().addElement("Enter your Account Number: ")); - - String accountNumber = s.getParser().getRawParameter(ACCT_NUM, "101"); - Input input = new Input(Input.TEXT, ACCT_NUM, accountNumber.toString()); - ec.addElement(input); - - Element b = ECSFactory.makeButton("Go!"); - ec.addElement(b); - - String query = "SELECT * FROM user_data WHERE userid = " + accountNumber; - String answer_query; - answer_query = "SELECT TOP 1 first_name FROM user_data WHERE userid = " + TARGET_ACCT_NUM; - - try - { - Statement answer_statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, - ResultSet.CONCUR_READ_ONLY); - ResultSet answer_results = answer_statement.executeQuery(answer_query); - answer_results.first(); - // System.out.println("Account: " + accountNumber); - // System.out.println("Answer : " + answer_results.getString(1)); - if (accountNumber.toString().equals(answer_results.getString(1))) - { - makeSuccess(s); - } - else - { - - Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, - ResultSet.CONCUR_READ_ONLY); - ResultSet results = statement.executeQuery(query); - - if ((results != null) && (results.first() == true)) - { - ec.addElement(new P().addElement("Account number is valid")); - } - else - { - ec.addElement(new P().addElement("Invalid account number")); - } - } - } catch (SQLException sqle) - { - ec.addElement(new P().addElement("An error occurred, please try again.")); - } - } catch (Exception e) - { - s.setMessage("Error generating " + this.getClass().getName()); - e.printStackTrace(); - } - - return (ec); - } - - /** - * Gets the category attribute of the SqlInjection object - * - * @return The category value - */ - protected Category getDefaultCategory() - { - return Category.INJECTION; - } - - /** - * Gets the credits attribute of the AbstractLesson object - * - * @return The credits value - */ - public Element getCredits() - { - return new StringElement("By Chuck Willis"); - } - - /** - * Gets the hints attribute of the DatabaseFieldScreen object - * - * @return The hints value - */ - protected List getHints(WebSession s) - { - List hints = new ArrayList(); - hints.add("Compound SQL statements can be made by joining multiple tests with keywords like AND and OR. " - + "Create a SQL statement that you can use as a true/false test and then " - + "select the first character of the target element and do a start narrowing " - + "down the character using > and <" - + "

The backend database is HSQLDB. Keep that in mind if you research SQL functions " - + "on the Internet since different databases use some different functions and syntax."); - hints.add("This is the code for the query being built and issued by WebGoat:

" - + "\"SELECT * FROM user_data WHERE userid = \" + accountNumber "); - hints.add("The application is taking your input and inserting it at the end of a pre-formed SQL command. " - + "You will need to make use of the following SQL functions: " - + "

SELECT - query for your target data and get a string " - + "

substr(string, start, length) - returns a " - + "substring of string starting at the start character and going for length characters " - + "

ascii(string) will return the ascii value of the first character in string " - + "

> and < - once you have a character's value, compare it to a choosen one"); - hints.add("Example: is the first character of the first_name of userid " + TARGET_ACCT_NUM - + " less than 'M' (ascii 77)? " - + "

101 AND (ascii( substr((SELECT first_name FROM user_data WHERE userid=" + TARGET_ACCT_NUM - + ") , 1 , 1) ) < 77 ); " - + "

If you get back that account number is valid, then yes. If get back that the number is" - + "invalid then answer is no."); - hints.add("Another example: is the second character of the first_name of userid " + TARGET_ACCT_NUM - + " greater than 'm' (ascii 109)? " - + "

101 AND (ascii( substr((SELECT first_name FROM user_data WHERE userid=" + TARGET_ACCT_NUM - + ") , 2 , 1) ) > 109 ); " - + "

If you get back that account number is valid, then yes. If get back that the number is " - + "invalid then answer is no."); - return hints; - } - - /** - * Gets the instructions attribute of the SqlInjection object - * - * @return The instructions value - */ - public String getInstructions(WebSession s) - { - String instructions = "The form below allows a user to enter an account number and determine if " - + "it is valid or not. Use this form to develop a true / false test check other entries in the database. " - + "

Reference Ascii Values: 'A' = 65 'Z' = 90 'a' = 97 'z' = 122 " - + "

The goal is to find the value of " + "the first_name in table user_data for userid " - + TARGET_ACCT_NUM - + ". Put the discovered name in the form to pass the lesson. Only the discovered name " - + "should be put into the form field, paying close attention to the spelling and capitalization."; - - return (instructions); - } - - private final static Integer DEFAULT_RANKING = new Integer(70); - - protected Integer getDefaultRanking() - { - return DEFAULT_RANKING; - } - - /** - * Gets the title attribute of the DatabaseFieldScreen object - * - * @return The title value - */ - public String getTitle() - { - return ("Blind SQL Injection"); - } - - /** - * Constructor for the DatabaseFieldScreen object - * - * @param s - * Description of the Parameter - */ - public void handleRequest(WebSession s) - { - try - { - super.handleRequest(s); - } catch (Exception e) - { - // System.out.println("Exception caught: " + e); - e.printStackTrace(System.out); - } - } -} diff --git a/main/project/JavaSource/org/owasp/webgoat/lessons/BlindStringSqlInjection.java b/main/project/JavaSource/org/owasp/webgoat/lessons/BlindStringSqlInjection.java new file mode 100644 index 000000000..1d58f840a --- /dev/null +++ b/main/project/JavaSource/org/owasp/webgoat/lessons/BlindStringSqlInjection.java @@ -0,0 +1,322 @@ +package org.owasp.webgoat.lessons; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import org.apache.ecs.Element; +import org.apache.ecs.ElementContainer; +import org.apache.ecs.html.Input; +import org.apache.ecs.html.P; +import org.apache.ecs.html.A; +import org.apache.ecs.html.IMG; +import org.owasp.webgoat.session.DatabaseUtilities; +import org.owasp.webgoat.session.ECSFactory; +import org.owasp.webgoat.session.WebSession; + +/******************************************************************************* + * + * + * This file is part of WebGoat, an Open Web Application Security Project + * utility. For details, please see http://www.owasp.org/ + * + * Copyright (c) 2002 - 2007 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 code.google.com, a repository + * for free software projects. + * + * For details, please see http://code.google.com/p/webgoat/ + * + * @author Chuck Willis Chuck's web + * site (this lesson is heavily based on Bruce Mayhews' SQL + * Injection lesson + * @created January 14, 2005 + */ +public class BlindStringSqlInjection extends LessonAdapter +{ + + public final static A MANDIANT_LOGO = new A().setHref("http://www.mandiant.com").addElement(new IMG("images/logos/mandiant.png").setAlt("MANDIANT").setBorder(0).setHspace(0).setVspace(0)); + + private final static String ACCT_NUM = "account_number"; + + private final static String TARGET_CC_NUM = "4321432143214321"; + + /** + * Description of the Method + * + * @param s + * Description of the Parameter + * @return Description of the Return Value + */ + protected Element createContent(WebSession s) + { + ElementContainer ec = new ElementContainer(); + + try + { + Connection connection = DatabaseUtilities.getConnection(s); + + ec.addElement(new P().addElement("Enter your Account Number: ")); + + String accountNumber = s.getParser().getRawParameter(ACCT_NUM, "101"); + Input input = new Input(Input.TEXT, ACCT_NUM, accountNumber.toString()); + ec.addElement(input); + + Element b = ECSFactory.makeButton("Go!"); + ec.addElement(b); + + String query = "SELECT * FROM user_data WHERE userid = " + accountNumber; + String answer_query; +// if (runningOnWindows()) +// { +// answer_query = "SELECT TOP 1 first_name FROM user_data WHERE userid = " +// + TARGET_CC_NUM; +// } else +// { + answer_query = "SELECT name FROM pins WHERE cc_number = '" + TARGET_CC_NUM +"'"; +// } + + try + { + Statement answer_statement = connection.createStatement( + ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet answer_results = answer_statement.executeQuery(answer_query); + answer_results.first(); + System.out.println("Account: " + accountNumber ); + System.out.println("Answer : " + answer_results.getString(1)); + if (accountNumber.toString().equals(answer_results.getString(1))) + { + makeSuccess(s); + } else + { + + Statement statement = connection.createStatement( + ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet results = statement.executeQuery(query); + + if ((results != null) && (results.first() == true)) + { + ec.addElement(new P().addElement("Account number is valid")); + } else + { + ec.addElement(new P().addElement("Invalid account number")); + } + } + } + catch (SQLException sqle) + { + ec.addElement(new P().addElement("An error occurred, please try again.")); + + // comment out two lines below + ec.addElement(new P().addElement(sqle.getMessage())); + sqle.printStackTrace(); + + } + } + catch (Exception e) + { + s.setMessage("Error generating " + this.getClass().getName()); + e.printStackTrace(); + } + + return (ec); + } + + /** + * Gets the category attribute of the SqlInjection object + * + * @return The category value + */ + protected Category getDefaultCategory() + { + return Category.INJECTION; + } + + /** + * Gets the credits attribute of the AbstractLesson object + * + * @return The credits value + */ + public Element getCredits() + { + return super.getCustomCredits("Created by Chuck Willis ", MANDIANT_LOGO); + } + + /** + * + * Determines the OS that WebGoat is running on. Needed because different DB + * backends are used on the different OSes (Access on Windows, InstantDB on + * others) + * + * @return true if running on Windows, false otherwise + */ +// private boolean runningOnWindows() +// { +// String os = System.getProperty("os.name", "Windows"); +// if (os.toLowerCase().indexOf("window") != -1) +// { +// return true; +// } else +// { +// return false; +// } +// } + + /** + * Gets the hints attribute of the DatabaseFieldScreen object + * + * @return The hints value + */ + protected List getHints(WebSession s) + { + List hints = new ArrayList(); +// if (runningOnWindows()) +// { + hints + .add("Compound SQL statements can be made by joining multiple tests with keywords like AND and OR. " + + "Create a SQL statement that you can use as a true/false test and then " + + "select the first character of the target element and do a start narrowing " + + "down the character using > and <" + + "

The backend database is HSQLDB. Keep that in mind if you research SQL functions " + + "on the Internet since different databases use some different functions and syntax." + + + "

You can find more about HSQLDB's SQL Syntax at " + + "http://hsqldb.org/doc/guide/ch09.html. " + + "Pay attention to the section titled \"String built-in Functions / Stored Procedures\"."); + + hints + .add("The application is taking your input and inserting it at the end of a pre-formed SQL command. " + + "You will need to make use of the following SQL contstructs: " + + + "

AND - combine the logic of the normal query with a boolean result" + + "

( and ) - group subexpressions so they evaluate properly" + + "

SELECT - make a subquery for your target data and get a string " + + "

SUBSTRING(string, start, length) - returns a " + + "substring of string starting at the start character and going for length characters " + + "

> and = and < - once you have a character's value, compare it to a choosen one" + + "

You can find more about HSQLDB's SQL Syntax at " + + "http://hsqldb.org/doc/guide/ch09.html"); + + hints.add("This is the code for the query being built and issued by WebGoat:

" + + "\"SELECT * FROM user_data WHERE userid = \" + accountNumber "); + + hints + .add("Here is an example for another table:" + + "

In the table user_data, is the first character of the first_name for the record with a cc_number of " + + "333498703333" + + " greater than 'M'? " + + "

101 AND (SUBSTRING((SELECT first_name FROM user_data WHERE cc_number='" + + "333498703333" + + "'), 1, 1) > 'M' ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + hints + .add("Partial Solution for First Character:" + + "

Is the first character of the name of the record with a cc_number of " + + TARGET_CC_NUM + + " less than 'M'? " + + "

101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='" + + TARGET_CC_NUM + + "'), 1, 1) < 'M' ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + hints + .add("Another Part of Solution for First Character:" + + "

Is the first character of the name of the record with a cc_number of " + + TARGET_CC_NUM + + " less than 'H'? " + + "

101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='" + + TARGET_CC_NUM + + "'), 1, 1) < 'H' ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + hints + .add("Partial Solution for Second Character:" + + "

Is the second character of the name of the record with a cc_number of " + + TARGET_CC_NUM + + " greater than 'k'? " + + "

101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='" + + TARGET_CC_NUM + + "'), 2, 1) > 'k' ); " + + "

If you get back that account number is valid, then yes. If get back that the number is " + + "invalid then answer is no."); + + + return hints; + } + + /** + * Gets the instructions attribute of the SqlInjection object + * + * @return The instructions value + */ + public String getInstructions(WebSession s) + { + String instructions = "The form below allows a user to enter an account number and determine if " + + "it is valid or not. Use this form to develop a true / false test check other entries in the database. " + + "

Reference Ascii Values: 'A' = 65 'Z' = 90 'a' = 97 'z' = 122 " + + "

The goal is to find the value of " + + "the field name in table pins for the row with the cc_number of " + + TARGET_CC_NUM + + ". The field is of type varchar, which is a string." + + "

Put the discovered name in the form to pass the lesson. Only the discovered name " + + "should be put into the form field, paying close attention to the spelling and capitalization."; + + return (instructions); + } + + private final static Integer DEFAULT_RANKING = new Integer(95); + + protected Integer getDefaultRanking() + { + return DEFAULT_RANKING; + } + + /** + * Gets the title attribute of the DatabaseFieldScreen object + * + * @return The title value + */ + public String getTitle() + { + return ("Blind String SQL Injection"); + } + + /** + * Constructor for the DatabaseFieldScreen object + * + * @param s + * Description of the Parameter + */ + public void handleRequest(WebSession s) + { + try + { + super.handleRequest(s); + } + catch (Exception e) + { + System.out.println("Exception caught: " + e); + e.printStackTrace(System.out); + } + } +} diff --git a/main/project/JavaSource/org/owasp/webgoat/lessons/Category.java b/main/project/JavaSource/org/owasp/webgoat/lessons/Category.java index 87a14c8a6..90b24335b 100644 --- a/main/project/JavaSource/org/owasp/webgoat/lessons/Category.java +++ b/main/project/JavaSource/org/owasp/webgoat/lessons/Category.java @@ -69,13 +69,15 @@ public class Category implements Comparable public final static Category INSECURE_STORAGE = new Category("Insecure Storage", new Integer(1500)); - public final static Category PARAMETER_TAMPERING = new Category("Parameter Tampering", new Integer(1600)); + public final static Category MALICIOUS_EXECUTION = new Category("Malicious Execution", new Integer(1600)); + + public final static Category PARAMETER_TAMPERING = new Category("Parameter Tampering", new Integer(1700)); - public final static Category SESSION_MANAGEMENT = new Category("Session Management Flaws", new Integer(1700)); + public final static Category SESSION_MANAGEMENT = new Category("Session Management Flaws", new Integer(1800)); - public final static Category WEB_SERVICES = new Category("Web Services", new Integer(1800)); + public final static Category WEB_SERVICES = new Category("Web Services", new Integer(1900)); - public final static Category ADMIN_FUNCTIONS = new Category("Admin Functions", new Integer(1900)); + public final static Category ADMIN_FUNCTIONS = new Category("Admin Functions", new Integer(2000)); public final static Category CHALLENGE = new Category("Challenge", new Integer(3000)); @@ -95,6 +97,7 @@ public class Category implements Comparable categories.add(XSS); categories.add(BUFFER_OVERFLOW); categories.add(INJECTION); + categories.add(MALICIOUS_EXECUTION); categories.add(ERROR_HANDLING); categories.add(INSECURE_STORAGE); categories.add(DOS); diff --git a/main/project/JavaSource/org/owasp/webgoat/lessons/MaliciousFileExecution.java b/main/project/JavaSource/org/owasp/webgoat/lessons/MaliciousFileExecution.java new file mode 100644 index 000000000..299386c91 --- /dev/null +++ b/main/project/JavaSource/org/owasp/webgoat/lessons/MaliciousFileExecution.java @@ -0,0 +1,501 @@ +package org.owasp.webgoat.lessons; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; +import java.io.File; + +import org.apache.ecs.Element; +import org.apache.ecs.ElementContainer; +import org.apache.ecs.html.Form; +import org.apache.ecs.html.H1; +import org.apache.ecs.html.Input; +import org.apache.ecs.html.P; +import org.apache.ecs.html.A; +import org.apache.ecs.html.IMG; +import org.owasp.webgoat.session.DatabaseUtilities; +import org.owasp.webgoat.session.ECSFactory; +import org.owasp.webgoat.session.WebSession; + +import org.apache.commons.fileupload.*; +import org.apache.commons.fileupload.disk.*; +import org.apache.commons.fileupload.servlet.*; + +/******************************************************************************* + * + * + * This file is part of WebGoat, an Open Web Application Security Project + * utility. For details, please see http://www.owasp.org/ + * + * Copyright (c) 2002 - 2007 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 code.google.com, a repository + * for free software projects. + * + * For details, please see http://code.google.com/p/webgoat/ + * + * @author Chuck Willis of MANDIANT + * @created July 11, 2008 + */ +public class MaliciousFileExecution extends LessonAdapter +{ + + private final static A MANDIANT_LOGO = new A().setHref("http://www.mandiant.com").addElement(new IMG("images/logos/mandiant.png").setAlt("MANDIANT").setBorder(0).setHspace(0).setVspace(0)); + + // the UPLOADS_DIRECTORY is where uploads are stored such that they can be references + // in image tags as "uploads/filename.ext". This directory string should not contain any path separators (/ or \) + private String uploads_and_target_parent_directory = null; + + private final static String UPLOADS_RELATIVE_PATH = "uploads"; + + // this is the target directory that the user must put a file in to pass the lessson. The file must be named + // username.txt. This directory string should not contain any path separators (/ or \) + + private final static String TARGET_RELATIVE_PATH = "mfe_target"; + + // this should probably go in a constructor, but we need the session object... + // may be able to do something like: + // String directory = this.getServletContext().getRealPath("/"); + private void fill_uploads_and_target_parent_directory(WebSession s) { + //uploads_and_target_parent_directory = s.getWebgoatContext().getServlet().getServletContext().getRealPath("/"); + uploads_and_target_parent_directory = s.getContext().getRealPath("/"); + // make sure it ends with a / or \ + if(!uploads_and_target_parent_directory.endsWith(File.separator)) { + uploads_and_target_parent_directory = uploads_and_target_parent_directory + + File.separator; + } + System.out.println("uploads_and_target_parent_directory set to = " + + uploads_and_target_parent_directory); + + // make sure the directories exist + File uploads_dir = new File(uploads_and_target_parent_directory + + UPLOADS_RELATIVE_PATH); + uploads_dir.mkdir(); + + File target_dir = new File(uploads_and_target_parent_directory + + TARGET_RELATIVE_PATH); + target_dir.mkdir(); + + // delete the user's target file if it is already there since we must + // have restarted webgoat + File userfile = new File(uploads_and_target_parent_directory + + TARGET_RELATIVE_PATH + java.io.File.separator + + s.getUserName() + ".txt"); + + userfile.delete(); + + } + + /** + * Description of the Method + * + * @param s + * Description of the Parameter + * @return Description of the Return Value + */ + protected Element createContent(WebSession s) + { + + if(uploads_and_target_parent_directory == null) { + fill_uploads_and_target_parent_directory(s); + } + + + ElementContainer ec = new ElementContainer(); + + try + { + + // check for success - see if the target file exists yet + + File userfile = new File(uploads_and_target_parent_directory + + TARGET_RELATIVE_PATH + java.io.File.separator + + s.getUserName() + ".txt"); + + if(userfile.exists()) { + makeSuccess(s); + } + + Connection connection = DatabaseUtilities.getConnection(s); + + ec.addElement(new H1().addElement("WebGoat Image Storage")); + + // show the current image + ec.addElement(new P().addElement("Your current image:")); + + String image_query = "SELECT image_relative_url FROM mfe_images WHERE user_name = '" + + s.getUserName() + "'"; + + Statement image_statement = connection.createStatement( + ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet image_results = image_statement.executeQuery(image_query); + + if(image_results.next() == false) { + // result set was empty + ec.addElement(new P().addElement("No image uploaded")); + System.out.println("No image uploaded"); + } else { + + String image_url = image_results.getString(1); + + ec.addElement(new IMG(image_url).setBorder(0).setHspace(0).setVspace(0)); + + System.out.println("Found image named: " + image_url); + + } + + ec.addElement(new P().addElement("Upload a new image:")); + + Input input = new Input(Input.FILE, "myfile", ""); + ec.addElement(input); + + Element b = ECSFactory.makeButton("Start Upload"); + ec.addElement(b); + + } + catch (Exception e) + { + s.setMessage("Error generating " + this.getClass().getName()); + e.printStackTrace(); + } + + return (ec); + } + + /** + * Gets the category attribute of the SqlInjection object + * + * @return The category value + */ + protected Category getDefaultCategory() + { + return Category.MALICIOUS_EXECUTION; + } + + /** + * Gets the credits attribute of the AbstractLesson object + * + * @return The credits value + */ + public Element getCredits() + { + return super.getCustomCredits("Created by Chuck Willis ", MANDIANT_LOGO); + } + + /** + * Gets the hints attribute of the DatabaseFieldScreen object + * + * @return The hints value + */ + protected List getHints(WebSession s) + { + if(uploads_and_target_parent_directory == null) { + fill_uploads_and_target_parent_directory(s); + } + + String target_filename = uploads_and_target_parent_directory + + TARGET_RELATIVE_PATH + + java.io.File.separator + + s.getUserName() + ".txt"; + + List hints = new ArrayList(); + + hints.add("Where are uploaded images stored? Can you browse to them directly?"); + + hints.add("What type of file can you upload to a J2EE server that will be executed when you browse to it?"); + + hints.add("You want to upload a .jsp file that creates an instance of the class java.io.File " + + " and calls the createNewFile() method of that instance."); + + hints.add("Below are some helpful links..." + + "

Here is a page with an example of a simple .jsp file using a Scriptlet:" + + "
" + + "http://www.jsptut.com/Scriptlets.jsp" + + "

Here is an page with an example of using createNewFile():" + + "
" + + "http://www.roseindia.net/java/example/java/io/CreateFile.shtml" + + "

Here is the API specification for java.io.File:" + + "
" + + "http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" + ); + + hints + .add("Here is an example .jsp file, modify it to use java.io.File and its createNewFile() method:" + + "

<HTML>" + + "
<%" + + "
java.lang.String hello = new java.lang.String(\"Hello World!\");" + + "
System.out.println(hello);" + + "
%>" + + "
</HTML>" + + "

NOTE: executing this file will print \"Hello World!\" to the Tomcat Console, not to your client browser" + ); + + + hints + .add("SOLUTION:

Upload a file with a .jsp extension and this content:" + + "

<HTML>" + + "
<%" + + "
java.io.File file = new java.io.File(\"" + + target_filename.replaceAll("\\\\", "\\\\\\\\") // if we are on windows, we need to + // make sure path separators are doubled / escaped + + "\");" + + "
file.createNewFile();" + + "
%>" + + "
</HTML>" + + "

After you have uploaded your jsp file, you can get the system to execute it by opening it in your browser at the URL below (or by just refreshing this page):" + + "

http://webgoat_ip:port/WebGoat/" + UPLOADS_RELATIVE_PATH + "/yourfilename.jsp" + ); + + return hints; + } + + // this is a custom method for this lesson to restart. It is called in WebSession.restartLesson + // in a currently somewhat "hacked up" manner that is specific to this lesson. There probably + // should be an abstract type for lessons that need custom "restarting" code. + public void restartLesson(WebSession s) + { + + if(uploads_and_target_parent_directory == null) { + fill_uploads_and_target_parent_directory(s); + } + + System.out.println("Restarting Malicious File Execution lesson for user " + s.getUserName()); + + // delete the user's target file + File userfile = new File(uploads_and_target_parent_directory + + TARGET_RELATIVE_PATH + + java.io.File.separator + + s.getUserName() + ".txt"); + + userfile.delete(); + + // remove the row from the mfe table + // add url to database table + + try { + Connection connection = DatabaseUtilities.getConnection(s); + + Statement statement = connection.createStatement(); + + String deleteuserrow = "DELETE from mfe_images WHERE user_name = '" + + s.getUserName() + "';"; + + statement.executeUpdate(deleteuserrow); + + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + // cleanup code has been disabled for now. I'm not sure where it can be called cleanly + // where it will know what directory to use since that is pulled from the session object + + // this method will delete files in the target directory and the uploads directory + // it should be called when WebGoat starts +// public static void cleanDirectories() { +// // delete files in TARGET_DIRECTORY +// File target_dir = new File(TARGET_RELATIVE_PATH); +// deleteFilesInDir(target_dir); +// +// // delete files in uploads directory +// File uploads_dir = new File(uploads_and_target_parent_directory + UPLOADS_RELATIVE_PATH); +// deleteFilesInDir(uploads_dir); +// +// } + +// private static void deleteFilesInDir(File dir) { +// File[] dir_files = dir.listFiles(); +// for(int i = 0; i < dir_files.length; i++) { +// // we won't recurse and we don't want to delete every file just in +// // case TARGET_DIRECTORY or uploads directory is pointed +// // somewhere stupid, like c:\ or / +// if(dir_files[i].isFile()) { +// String lower_file_name = dir_files[i].getName().toLowerCase(); +// +// if(lower_file_name.endsWith(".jpg") || +// lower_file_name.endsWith(".gif") || +// lower_file_name.endsWith(".png") || +// lower_file_name.endsWith(".jsp") || +// lower_file_name.endsWith(".txt") || +// lower_file_name.endsWith(".asp") || // in case they think this is a IIS server :-) +// lower_file_name.endsWith(".aspx")) { +// dir_files[i].delete(); +// } +// } +// } +// } + + + /** + * Gets the instructions attribute of the object + * + * @return The instructions value + */ + public String getInstructions(WebSession s) + { + if(uploads_and_target_parent_directory == null) { + fill_uploads_and_target_parent_directory(s); + } + + String instructions = "The form below allows you to upload an image which will be displayed on this page. " + + "Features like this are often found on web based discussion boards and social networking sites. " + + "This feature is vulnerable to Malicious File Execution." + + "

In order to pass this lession, upload and run a malicious file. In order to prove that your file can execute," + + " it should create another file named:

" + + uploads_and_target_parent_directory + + TARGET_RELATIVE_PATH + + java.io.File.separator + + s.getUserName() + ".txt" + + "

Once you have created this file, you will pass the lesson."; + + return (instructions); + } + + private final static Integer DEFAULT_RANKING = new Integer(75); + + protected Integer getDefaultRanking() + { + return DEFAULT_RANKING; + } + + /** + * Gets the title attribute of the DatabaseFieldScreen object + * + * @return The title value + */ + public String getTitle() + { + return ("Malicious File Execution"); + } + + /** + * Constructor for the DatabaseFieldScreen object + * + * @param s + * Description of the Parameter + */ + public void handleRequest(WebSession s) + { + + if(uploads_and_target_parent_directory == null) { + fill_uploads_and_target_parent_directory(s); + } + + + + try + { + if(ServletFileUpload.isMultipartContent(s.getRequest())) { + // multipart request - we have the file upload + +// Create a factory for disk-based file items + DiskFileItemFactory factory = new DiskFileItemFactory(); + factory.setSizeThreshold(500000); // files over 500k will be written to disk temporarily. + // files under that size will be stored in memory until written to disk by the request handler code below + +// Create a new file upload handler + ServletFileUpload upload = new ServletFileUpload(factory); + +// Parse the request + List /* FileItem */ items = upload.parseRequest(s.getRequest()); + +// Process the uploaded items + java.util.Iterator iter = items.iterator(); + while (iter.hasNext()) { + FileItem item = (FileItem) iter.next(); + + if (item.isFormField()) { + + // ignore regular form fields + + } else { + + // not a form field, must be a file upload + if(item.getName().contains("/") || item.getName().contains("\\")) { + System.out.println("Uploaded file contains a / or \\ (i.e. attempted directory traversal). Not storing file."); + // TODO - is there a way to show an error to the user here? + + s.setMessage("Directory traversal not allowed. Nice try though."); + + } else { + + // write file to disk with original name in uploads directory + String uploaded_file_path = uploads_and_target_parent_directory + + UPLOADS_RELATIVE_PATH + + java.io.File.separator + + item.getName(); + File uploadedFile = new File(uploaded_file_path); + item.write(uploadedFile); + System.out.println("Stored file:\n" + uploaded_file_path ); + + // add url to database table + Connection connection = DatabaseUtilities.getConnection(s); + + Statement statement = connection.createStatement(); + + // attempt an update + String updateData1 = "UPDATE mfe_images SET image_relative_url='" + UPLOADS_RELATIVE_PATH + "/" + + item.getName() + "' WHERE user_name = '" + + s.getUserName() + "';"; + + System.out.println("Updating row:\n" + updateData1 ); + if(statement.executeUpdate(updateData1) == 0) { + + // update failed, we need to add a row + String insertData1 = "INSERT INTO mfe_images VALUES ('" + + s.getUserName() + "','" + UPLOADS_RELATIVE_PATH + "/" + + item.getName() + "')"; + + System.out.println("Inserting row:\n" + insertData1 ); + statement.executeUpdate(insertData1); + + } + } + + } + } + + } + // now handle normally (if it was a multipart request or now) + + //super.handleRequest(s); + + // needed to cut and paste and edit rather than calling super + // here so that we could set the encoding type to multipart form data + // call createContent first so messages will go somewhere + + Form form = new Form(getFormAction(), Form.POST).setName("form") + .setEncType("multipart/form-data"); + + form.addElement(createContent(s)); + + setContent(form); + } + catch (Exception e) + { + System.out.println("Exception caught: " + e); + e.printStackTrace(System.out); + } + } +} diff --git a/main/project/JavaSource/org/owasp/webgoat/session/CreateDB.java b/main/project/JavaSource/org/owasp/webgoat/session/CreateDB.java index 349829970..cef4f69ae 100644 --- a/main/project/JavaSource/org/owasp/webgoat/session/CreateDB.java +++ b/main/project/JavaSource/org/owasp/webgoat/session/CreateDB.java @@ -76,6 +76,45 @@ public class CreateDB } } + /** + * Description of the Method + * + * @param connection Description of the Parameter + * + * @exception SQLException Description of the Exception + */ + private void createMFEImagesTable(Connection connection) throws SQLException + { + Statement statement = connection.createStatement(); + + // Drop mfe_images table + try + { + String dropTable = "DROP TABLE mfe_images"; + statement.executeUpdate(dropTable); + } + catch (SQLException e) + { + System.out.println("Error dropping mfe_images table from database"); + } + + // Create the new mfe_images table + try + { + String createTableStatement = "CREATE TABLE mfe_images (" + + "user_name varchar(50) not null, " + + "image_relative_url varchar(50) not null" + + ")"; + statement.executeUpdate(createTableStatement); + } + catch (SQLException e) + { + System.out.println("Error creating mfe_images table in database"); + e.printStackTrace(); + } + + } + /** * Description of the Method * @@ -267,6 +306,53 @@ public class CreateDB } + // creates the table pins which is used in the blind sql injection lesson + private void createBlindSQLLessonTable(Connection connection) throws SQLException + { + Statement statement = connection.createStatement(); + + // Delete table if there is one + try + { + String dropTable = "DROP TABLE pins"; + statement.executeUpdate(dropTable); + } + catch (SQLException e) + { + System.out.println("Error dropping pins table"); + } + + // Create the new table + try + { + String createTableStatement = "CREATE TABLE pins (" + + "cc_number varchar(30)," + + "pin int," + + "name varchar(20)" + + ")"; + statement.executeUpdate(createTableStatement); + } + catch (SQLException e) + { + System.out.println("Error creating pins table"); + e.printStackTrace(); + } + + // Populate it + String insertData1 = "INSERT INTO pins VALUES ('987654321098765', 1234, 'Joe')"; + String insertData2 = "INSERT INTO pins VALUES ('1234567890123456', 4567, 'Jack')"; + String insertData3 = "INSERT INTO pins VALUES ('4321432143214321', 4321, 'Jill')"; + String insertData4 = "INSERT INTO pins VALUES ('1111111111111111', 7777, 'Jim')"; + String insertData5 = "INSERT INTO pins VALUES ('1111222233334444', 2364, 'John')"; + + statement.executeUpdate(insertData1); + statement.executeUpdate(insertData2); + statement.executeUpdate(insertData3); + statement.executeUpdate(insertData4); + statement.executeUpdate(insertData5); + + } + /** * Description of the Method * @@ -897,6 +983,7 @@ public class CreateDB System.out.println("Successful connection to database"); createUserDataTable(connection); createLoginTable(connection); + createBlindSQLLessonTable(connection); createUserAdminTable(connection); createProductTable(connection); createMessageTable(connection); @@ -908,6 +995,7 @@ public class CreateDB createTransactionTable(connection); createTanUserDataTable(connection); createTanTable(connection); + createMFEImagesTable(connection); System.out.println("Success: creating tables."); } } diff --git a/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java b/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java index 6aa22647f..ca479eaa6 100644 --- a/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java +++ b/main/project/JavaSource/org/owasp/webgoat/session/WebSession.java @@ -991,7 +991,10 @@ public class WebSession { RandomLessonAdapter rla = (RandomLessonAdapter) al; rla.setStage(this, rla.getStages()[0]); - } + } + else if(al instanceof org.owasp.webgoat.lessons.MaliciousFileExecution) { + ((org.owasp.webgoat.lessons.MaliciousFileExecution) al).restartLesson(this); + } } /** diff --git a/main/project/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar b/main/project/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..aa209b3887c90933cdc58c8c8572e90435e8e48d GIT binary patch literal 57779 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

&knfH<$GJKCG=|8T=8!%js9}oQ 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�_l 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 literal 0 HcmV?d00001 diff --git a/main/project/WebContent/WEB-INF/lib/commons-io-1.4.jar b/main/project/WebContent/WEB-INF/lib/commons-io-1.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..133dc6cb35f5ca2c5920fd0933a557c2def88680 GIT binary patch literal 109043 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 OKnU!J{D3_>*#80Lb|t_7 literal 0 HcmV?d00001 diff --git a/main/project/WebContent/images/logos/mandiant.png b/main/project/WebContent/images/logos/mandiant.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae27d43ddf7558e50092bc95214ad4c10835fdb GIT binary patch literal 4940 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 KMNUMnLSTX~;EyQ) literal 0 HcmV?d00001