From a1d52a73e039865a4b25a8d431af293ddc4c9c93 Mon Sep 17 00:00:00 2001 From: "rogan.dawes" Date: Tue, 10 Jul 2007 11:56:00 +0000 Subject: [PATCH] Introduce the GoatHillsFinancial "lesson" This "lesson" is to be used as a base for the rest of the LAB lessons. This should help to reduce the amount of duplication across the lessons. git-svn-id: http://webgoat.googlecode.com/svn/trunk@150 4033779f-a91e-0410-96ef-6bf7bf53c507 --- .../GoatHillsFinancial/DeleteProfile.java | 125 +++++++ .../GoatHillsFinancial/EditProfile.java | 134 +++++++ .../GoatHillsFinancial/FindProfile.java | 193 ++++++++++ .../GoatHillsFinancial.java | 344 ++++++++++++++++++ .../lessons/GoatHillsFinancial/ListStaff.java | 123 +++++++ .../lessons/GoatHillsFinancial/Login.java | 222 +++++++++++ .../lessons/GoatHillsFinancial/Logout.java | 87 +++++ .../GoatHillsFinancial/SearchStaff.java | 51 +++ .../GoatHillsFinancial/UpdateProfile.java | 270 ++++++++++++++ .../GoatHillsFinancial/ViewProfile.java | 148 ++++++++ .../GoatHillsFinancial/EditProfile.jsp | 137 +++++++ .../GoatHillsFinancial/GoatHillsFinancial.css | 14 + .../GoatHillsFinancial/GoatHillsFinancial.jsp | 30 ++ .../lessons/GoatHillsFinancial/ListStaff.jsp | 55 +++ .../lessons/GoatHillsFinancial/Login.jsp | 37 ++ .../GoatHillsFinancial/SearchStaff.jsp | 22 ++ .../GoatHillsFinancial/ViewProfile.jsp | 157 ++++++++ .../lessons/GoatHillsFinancial/error.jsp | 13 + .../images/accessControl.jpg | Bin 0 -> 35331 bytes .../GoatHillsFinancial/images/dbSchema.jpg | Bin 0 -> 105001 bytes .../images/lesson1_SearchWindow.jpg | Bin 0 -> 34912 bytes .../images/lesson1_header.jpg | Bin 0 -> 44854 bytes .../images/lesson1_loginWindow.jpg | Bin 0 -> 9976 bytes .../images/lesson1_menu.jpg | Bin 0 -> 5682 bytes .../images/lesson1_workspace.jpg | Bin 0 -> 23580 bytes .../GoatHillsFinancial/images/orgChart.jpg | Bin 0 -> 87561 bytes 26 files changed, 2162 insertions(+) create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/DeleteProfile.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/EditProfile.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/FindProfile.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/GoatHillsFinancial.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ListStaff.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Login.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Logout.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/SearchStaff.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/UpdateProfile.java create mode 100755 webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ViewProfile.java create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/EditProfile.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.css create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ListStaff.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/Login.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/SearchStaff.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ViewProfile.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/error.jsp create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/accessControl.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/dbSchema.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_SearchWindow.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_header.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_loginWindow.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_menu.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_workspace.jpg create mode 100755 webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/orgChart.jpg diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/DeleteProfile.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/DeleteProfile.java new file mode 100755 index 000000000..5b699eb6e --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/DeleteProfile.java @@ -0,0 +1,125 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.lessons.LessonAction; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +import org.owasp.webgoat.session.ValidationException; +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/ + */ +public class DeleteProfile extends DefaultLessonAction +{ + + private LessonAction chainedAction; + + public DeleteProfile(AbstractLesson lesson, String lessonName, + String actionName, LessonAction chainedAction) + { + super(lesson, lessonName, actionName); + this.chainedAction = chainedAction; + } + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + UnauthenticatedException, UnauthorizedException, + ValidationException + { + getLesson().setCurrentAction(s, getActionName()); + + int userId = getIntSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.USER_ID); + int employeeId = s.getParser().getIntParameter( + GoatHillsFinancial.EMPLOYEE_ID); + + if (isAuthenticated(s)) + { + deleteEmployeeProfile(s, userId, employeeId); + + try + { + chainedAction.handleRequest(s); + } + catch (UnauthenticatedException ue1) + { + System.out.println("Internal server error"); + ue1.printStackTrace(); + } + catch (UnauthorizedException ue2) + { + System.out.println("Internal server error"); + ue2.printStackTrace(); + } + } + else + throw new UnauthenticatedException(); + + } + + public String getNextPage(WebSession s) + { + return GoatHillsFinancial.LISTSTAFF_ACTION; + } + + public void deleteEmployeeProfile(WebSession s, int userId, int employeeId) + throws UnauthorizedException + { + try + { + // Note: The password field is ONLY set by ChangePassword + String query = "DELETE FROM employee WHERE userid = " + employeeId; + //System.out.println("Query: " + query); + try + { + Statement statement = WebSession.getConnection(s) + .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + statement.executeUpdate(query); + } + catch (SQLException sqle) + { + s.setMessage("Error deleting employee profile"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error deleting employee profile"); + e.printStackTrace(); + } + } + +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/EditProfile.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/EditProfile.java new file mode 100755 index 000000000..4aeebaf3c --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/EditProfile.java @@ -0,0 +1,134 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.session.Employee; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +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/ + */ +public class EditProfile extends DefaultLessonAction +{ + + public EditProfile(AbstractLesson lesson, String lessonName, + String actionName) + { + super(lesson, lessonName, actionName); + } + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + UnauthenticatedException, UnauthorizedException + { + getLesson().setCurrentAction(s, getActionName()); + + if (isAuthenticated(s)) + { + int userId = getUserId(s); + int employeeId = s.getParser().getIntParameter( + GoatHillsFinancial.EMPLOYEE_ID); + + Employee employee = getEmployeeProfile(s, userId, employeeId); + setSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ATTRIBUTE_KEY, employee); + } + else + throw new UnauthenticatedException(); + } + + public String getNextPage(WebSession s) + { + return GoatHillsFinancial.EDITPROFILE_ACTION; + } + + public Employee getEmployeeProfile(WebSession s, int userId, + int subjectUserId) throws UnauthorizedException + { + Employee profile = null; + + // Query the database for the profile data of the given employee + try + { + String query = "SELECT * FROM employee WHERE userid = ?"; + + try + { + PreparedStatement answer_statement = WebSession + .getConnection(s).prepareStatement(query, + ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + answer_statement.setInt(1, subjectUserId); + ResultSet answer_results = answer_statement.executeQuery(); + if (answer_results.next()) + { + // Note: Do NOT get the password field. + profile = new Employee(answer_results.getInt("userid"), + answer_results.getString("first_name"), + answer_results.getString("last_name"), + answer_results.getString("ssn"), answer_results + .getString("title"), answer_results + .getString("phone"), answer_results + .getString("address1"), answer_results + .getString("address2"), answer_results + .getInt("manager"), answer_results + .getString("start_date"), answer_results + .getInt("salary"), answer_results + .getString("ccn"), answer_results + .getInt("ccn_limit"), answer_results + .getString("disciplined_date"), + answer_results.getString("disciplined_notes"), + answer_results.getString("personal_description")); + /* System.out.println("Retrieved employee from db: " + + profile.getFirstName() + " " + profile.getLastName() + + " (" + profile.getId() + ")"); + */} + } + catch (SQLException sqle) + { + s.setMessage("Error getting employee profile"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error getting employee profile"); + e.printStackTrace(); + } + + return profile; + } + +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/FindProfile.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/FindProfile.java new file mode 100755 index 000000000..ddd3e50df --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/FindProfile.java @@ -0,0 +1,193 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.lessons.LessonAction; +import org.owasp.webgoat.session.Employee; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +import org.owasp.webgoat.session.ValidationException; +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/ + */ +public class FindProfile extends DefaultLessonAction +{ + + private LessonAction chainedAction; + + + public FindProfile(AbstractLesson lesson, String lessonName, + String actionName, LessonAction chainedAction) + { + super(lesson, lessonName, actionName); + this.chainedAction = chainedAction; + } + + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + UnauthenticatedException, UnauthorizedException, + ValidationException + { + if (isAuthenticated(s)) + { + int userId = getIntSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.USER_ID); + + String pattern = s.getParser().getRawParameter( + GoatHillsFinancial.SEARCHNAME); + + findEmployeeProfile(s, userId, pattern); + + // Execute the chained Action if the employee was found. + if (foundEmployee(s)) + { + try + { + chainedAction.handleRequest(s); + } + catch (UnauthenticatedException ue1) + { + System.out.println("Internal server error"); + ue1.printStackTrace(); + } + catch (UnauthorizedException ue2) + { + System.out.println("Internal server error"); + ue2.printStackTrace(); + } + } + } + else + throw new UnauthenticatedException(); + } + + + public String getNextPage(WebSession s) + { + String page = GoatHillsFinancial.SEARCHSTAFF_ACTION; + + if (foundEmployee(s)) + page = GoatHillsFinancial.VIEWPROFILE_ACTION; + + return page; + } + + + private boolean foundEmployee(WebSession s) + { + boolean found = false; + try + { + int id = getIntRequestAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ID); + found = true; + } + catch (ParameterNotFoundException e) + {} + + return found; + } + + + public Employee findEmployeeProfile(WebSession s, int userId, String pattern) + throws UnauthorizedException + { + Employee profile = null; + // Clear any residual employee id's in the session now. + removeSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ID); + + // Query the database for the profile data of the given employee + try + { + String query = "SELECT * FROM employee WHERE first_name LIKE ? OR last_name LIKE ?"; + + try + { + PreparedStatement answer_statement = WebSession + .getConnection(s).prepareStatement(query, + ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + answer_statement.setString(1, "%" + pattern + "%"); + answer_statement.setString(2, "%" + pattern + "%"); + ResultSet answer_results = answer_statement.executeQuery(); + + // Just use the first hit. + if (answer_results.next()) + { + int id = answer_results.getInt("userid"); + // Note: Do NOT get the password field. + profile = new Employee(id, answer_results + .getString("first_name"), answer_results + .getString("last_name"), answer_results + .getString("ssn"), answer_results + .getString("title"), answer_results + .getString("phone"), answer_results + .getString("address1"), answer_results + .getString("address2"), answer_results + .getInt("manager"), answer_results + .getString("start_date"), answer_results + .getInt("salary"), answer_results.getString("ccn"), + answer_results.getInt("ccn_limit"), answer_results + .getString("disciplined_date"), + answer_results.getString("disciplined_notes"), + answer_results.getString("personal_description")); + + /* System.out.println("Retrieved employee from db: " + + profile.getFirstName() + " " + profile.getLastName() + + " (" + profile.getId() + ")"); + */ + setRequestAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ID, Integer + .toString(id)); + } + } + catch (SQLException sqle) + { + s.setMessage("Error finding employee profile"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error finding employee profile"); + e.printStackTrace(); + } + + return profile; + } + +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/GoatHillsFinancial.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/GoatHillsFinancial.java new file mode 100755 index 000000000..1fbb60366 --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/GoatHillsFinancial.java @@ -0,0 +1,344 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; + +import org.apache.ecs.Element; +import org.apache.ecs.ElementContainer; +import org.apache.ecs.html.A; +import org.apache.ecs.html.IMG; +import org.owasp.webgoat.lessons.LessonAction; +import org.owasp.webgoat.lessons.LessonAdapter; +import org.owasp.webgoat.session.DatabaseUtilities; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +import org.owasp.webgoat.session.ValidationException; +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/ + */ +public class GoatHillsFinancial extends LessonAdapter +{ + public final static A ASPECT_LOGO = new A().setHref("http://www.aspectsecurity.com").addElement(new IMG("images/logos/aspect.jpg").setAlt("Aspect Security").setBorder(0).setHspace(0).setVspace(0)); + + public final static String DESCRIPTION = "description"; + + public final static String DISCIPLINARY_DATE = "disciplinaryDate"; + + public final static String DISCIPLINARY_NOTES = "disciplinaryNotes"; + + public final static String CCN_LIMIT = "ccnLimit"; + + public final static String CCN = "ccn"; + + public final static String SALARY = "salary"; + + public final static String START_DATE = "startDate"; + + public final static String MANAGER = "manager"; + + public final static String ADDRESS1 = "address1"; + + public final static String ADDRESS2 = "address2"; + + public final static String PHONE_NUMBER = "phoneNumber"; + + public final static String TITLE = "title"; + + public final static String SSN = "ssn"; + + public final static String LAST_NAME = "lastName"; + + public final static String FIRST_NAME = "firstName"; + + public final static String PASSWORD = "password"; + + public final static String EMPLOYEE_ID = "employee_id"; + + public final static String USER_ID = "user_id"; + + public final static String SEARCHNAME = "search_name"; + + public final static String SEARCHRESULT_ATTRIBUTE_KEY = "SearchResult"; + + public final static String EMPLOYEE_ATTRIBUTE_KEY = "Employee"; + + public final static String STAFF_ATTRIBUTE_KEY = "Staff"; + + public final static String LOGIN_ACTION = "Login"; + + public final static String LOGOUT_ACTION = "Logout"; + + public final static String LISTSTAFF_ACTION = "ListStaff"; + + public final static String SEARCHSTAFF_ACTION = "SearchStaff"; + + public final static String FINDPROFILE_ACTION = "FindProfile"; + + public final static String VIEWPROFILE_ACTION = "ViewProfile"; + + public final static String EDITPROFILE_ACTION = "EditProfile"; + + public final static String UPDATEPROFILE_ACTION = "UpdateProfile"; + + public final static String CREATEPROFILE_ACTION = "CreateProfile"; + + public final static String DELETEPROFILE_ACTION = "DeleteProfile"; + + public final static String ERROR_ACTION = "error"; + + private final static Integer DEFAULT_RANKING = new Integer(125); + + private static Connection connection = null; + + private Map lessonFunctions = new Hashtable(); + + + public static synchronized Connection getConnection(WebSession s) + throws SQLException, ClassNotFoundException + { + if (connection == null) + { + connection = DatabaseUtilities.makeConnection(s); + } + + return connection; + } + + + public GoatHillsFinancial() + { + String myClassName = parseClassName(this.getClass().getName()); + registerAction(new ListStaff(this, myClassName, LISTSTAFF_ACTION)); + registerAction(new SearchStaff(this, myClassName, SEARCHSTAFF_ACTION)); + registerAction(new ViewProfile(this, myClassName, VIEWPROFILE_ACTION)); + registerAction(new EditProfile(this, myClassName, EDITPROFILE_ACTION)); + registerAction(new EditProfile(this, myClassName, CREATEPROFILE_ACTION)); + + // These actions are special in that they chain to other actions. + registerAction(new Login(this, myClassName, LOGIN_ACTION, + getAction(LISTSTAFF_ACTION))); + registerAction(new Logout(this, myClassName, LOGOUT_ACTION, + getAction(LOGIN_ACTION))); + registerAction(new FindProfile(this, myClassName, FINDPROFILE_ACTION, + getAction(VIEWPROFILE_ACTION))); + registerAction(new UpdateProfile(this, myClassName, + UPDATEPROFILE_ACTION, getAction(VIEWPROFILE_ACTION))); + registerAction(new DeleteProfile(this, myClassName, + DELETEPROFILE_ACTION, getAction(LISTSTAFF_ACTION))); + } + + + protected final String parseClassName(String fqcn) + { + String className = fqcn; + + int lastDotIndex = fqcn.lastIndexOf('.'); + if (lastDotIndex > -1) + className = fqcn.substring(lastDotIndex + 1); + + return className; + } + + protected void registerAction(LessonAction action) + { + lessonFunctions.put(action.getActionName(), action); + } + + protected List getHints(WebSession s) + { + return new ArrayList(); + } + + public String getInstructions(WebSession s) + { + return ""; + } + + protected LessonAction getAction(String actionName) + { + return lessonFunctions.get(actionName); + } + + public void handleRequest(WebSession s) + { + if (s.getLessonSession(this) == null) + s.openLessonSession(this); + + String requestedActionName = null; + try + { + requestedActionName = s.getParser().getStringParameter("action"); + } + catch (ParameterNotFoundException pnfe) + { + // Let them eat login page. + requestedActionName = LOGIN_ACTION; + } + + try + { + LessonAction action = getAction(requestedActionName); + if (action == null) + { + setCurrentAction(s, ERROR_ACTION); + } else + { + //System.out.println("GoatHillsFinancial.handleRequest() dispatching to: " + action.getActionName()); + if (action.requiresAuthentication()) + { + if (action.isAuthenticated(s)) + { + action.handleRequest(s); + } + else + throw new UnauthenticatedException(); + } + else + { + // Access to Login does not require authentication. + action.handleRequest(s); + } + } + } + catch (ParameterNotFoundException pnfe) + { + System.out.println("Missing parameter"); + pnfe.printStackTrace(); + setCurrentAction(s, ERROR_ACTION); + } + catch (ValidationException ve) + { + System.out.println("Validation failed"); + ve.printStackTrace(); + setCurrentAction(s, ERROR_ACTION); + } + catch (UnauthenticatedException ue) + { + s.setMessage("Login failed"); + System.out.println("Authentication failure"); + ue.printStackTrace(); + } + catch (UnauthorizedException ue2) + { + s.setMessage("You are not authorized to perform this function"); + System.out.println("Authorization failure"); + setCurrentAction(s, ERROR_ACTION); + ue2.printStackTrace(); + } + catch (Exception e) + { + // All other errors send the user to the generic error page + System.out.println("handleRequest() error"); + e.printStackTrace(); + setCurrentAction(s, ERROR_ACTION); + } + + // All this does for this lesson is ensure that a non-null content exists. + setContent(new ElementContainer()); + } + + public boolean isAuthorized(WebSession s, int userId, String functionId) + { + //System.out.println("Checking authorization from " + getCurrentAction(s)); + LessonAction action = getAction(getCurrentAction(s)); + return action.isAuthorized(s, userId, functionId); + } + + public int getUserId(WebSession s) throws ParameterNotFoundException + { + LessonAction action = getAction(getCurrentAction(s)); + return action.getUserId(s); + } + + public String getUserName(WebSession s) throws ParameterNotFoundException + { + LessonAction action = getAction(getCurrentAction(s)); + return action.getUserName(s); + } + + protected String getJspPath() { + return "/lessons/" + getLessonName() + "/"; + } + + public String getTemplatePage(WebSession s) + { + return getJspPath() + getLessonName() + ".jsp"; + } + + public String getPage(WebSession s) + { + String page = getJspPath() + getCurrentAction(s) + ".jsp"; + + return page; + } + + protected Integer getDefaultRanking() + { + return DEFAULT_RANKING; + } + + public String getTitle() + { + return "Goat Hills Financials"; + } + + public String getSourceFileName() + { + // FIXME: Need to generalize findSourceResource() and use it on the currently active + // LessonAction delegate to get its source file. + //return findSourceResource(getCurrentLessonScreen()....); + return super.getSourceFileName(); + } + + @Override + protected boolean getDefaultHidden() { + return false; + } + + public Element getCredits() + { + return super.getCustomCredits("", ASPECT_LOGO); + } + + @Override + protected String getLessonName() { + String className = getClass().getName(); + int index = className.lastIndexOf('.'); + if (index > -1) + return className.substring(index+1); + return super.getLessonName(); + } +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ListStaff.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ListStaff.java new file mode 100755 index 000000000..7434d5ae6 --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ListStaff.java @@ -0,0 +1,123 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.List; +import java.util.Vector; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.session.EmployeeStub; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +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/ + */ +public class ListStaff extends DefaultLessonAction +{ + + public ListStaff(AbstractLesson lesson, String lessonName, String actionName) + { + super(lesson, lessonName, actionName); + } + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + UnauthenticatedException, UnauthorizedException + { + getLesson().setCurrentAction(s, getActionName()); + + if (isAuthenticated(s)) + { + int userId = getIntSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.USER_ID); + + List employees = getAllEmployees(s, userId); + setSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.STAFF_ATTRIBUTE_KEY, employees); + } + else + throw new UnauthenticatedException(); + } + + public String getNextPage(WebSession s) + { + return GoatHillsFinancial.LISTSTAFF_ACTION; + } + + public List getAllEmployees(WebSession s, int userId) + throws UnauthorizedException + { + // Query the database for all employees "owned" by the given employee + + List employees = new Vector(); + + try + { + String query = "SELECT employee.userid,first_name,last_name,role FROM employee,roles WHERE employee.userid=roles.userid and employee.userid in " + + "(SELECT employee_id FROM ownership WHERE employer_id = " + + userId + ")"; + + try + { + Statement answer_statement = WebSession.getConnection(s) + .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + ResultSet answer_results = answer_statement.executeQuery(query); + answer_results.beforeFirst(); + while (answer_results.next()) + { + int employeeId = answer_results.getInt("userid"); + String firstName = answer_results.getString("first_name"); + String lastName = answer_results.getString("last_name"); + String role = answer_results.getString("role"); + //System.out.println("Retrieving employee stub for role " + role); + EmployeeStub stub = new EmployeeStub(employeeId, firstName, + lastName, role); + employees.add(stub); + } + } + catch (SQLException sqle) + { + s.setMessage("Error getting employees"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error getting employees"); + e.printStackTrace(); + } + + return employees; + } +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Login.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Login.java new file mode 100755 index 000000000..8d9f87235 --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Login.java @@ -0,0 +1,222 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.List; +import java.util.Vector; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.lessons.LessonAction; +import org.owasp.webgoat.session.EmployeeStub; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +import org.owasp.webgoat.session.ValidationException; +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/ + */ +public class Login extends DefaultLessonAction +{ + + private LessonAction chainedAction; + + + public Login(AbstractLesson lesson, String lessonName, String actionName, + LessonAction chainedAction) + { + super(lesson, lessonName, actionName); + this.chainedAction = chainedAction; + } + + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + ValidationException + { + //System.out.println("Login.handleRequest()"); + getLesson().setCurrentAction(s, getActionName()); + + List employees = getAllEmployees(s); + setSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.STAFF_ATTRIBUTE_KEY, employees); + + int employeeId = -1; + try + { + employeeId = s.getParser().getIntParameter( + GoatHillsFinancial.EMPLOYEE_ID); + String password = s.getParser().getStringParameter( + GoatHillsFinancial.PASSWORD); + + // Attempt authentication + if (login(s, employeeId, password)) + { + // Execute the chained Action if authentication succeeded. + try + { + chainedAction.handleRequest(s); + } + catch (UnauthenticatedException ue1) + { + System.out.println("Internal server error"); + ue1.printStackTrace(); + } + catch (UnauthorizedException ue2) + { + System.out.println("Internal server error"); + ue2.printStackTrace(); + } + } + else + s.setMessage("Login failed"); + } + catch (ParameterNotFoundException pnfe) + { + // No credentials offered, so we log them out + setSessionAttribute(s, getLessonName() + ".isAuthenticated", + Boolean.FALSE); + } + } + + + /** + * After this.handleRequest() is called, when the View asks for the current JSP to load, + * it will get one initialized by this call. + */ + public String getNextPage(WebSession s) + { + String nextPage = GoatHillsFinancial.LOGIN_ACTION; + + if (isAuthenticated(s)) + nextPage = chainedAction.getNextPage(s); + + return nextPage; + + } + + + public boolean requiresAuthentication() + { + return false; + } + + + public boolean login(WebSession s, int userId, String password) + { + //System.out.println("Logging in to lesson"); + boolean authenticated = false; + + try + { + String query = "SELECT * FROM employee WHERE userid = " + userId + + " and password = '" + password + "'"; + + try + { + Statement answer_statement = WebSession.getConnection(s) + .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + ResultSet answer_results = answer_statement.executeQuery(query); + if (answer_results.first()) + { + setSessionAttribute(s, + getLessonName() + ".isAuthenticated", Boolean.TRUE); + setSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.USER_ID, Integer + .toString(userId)); + authenticated = true; + } + + } + catch (SQLException sqle) + { + s.setMessage("Error logging in"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error logging in"); + e.printStackTrace(); + } + + //System.out.println("Lesson login result: " + authenticated); + return authenticated; + } + + + public List getAllEmployees(WebSession s) + { + List employees = new Vector(); + + // Query the database for all roles the given employee belongs to + // Query the database for all employees "owned" by these roles + + try + { + String query = "SELECT employee.userid,first_name,last_name,role FROM employee,roles " + + "where employee.userid=roles.userid"; + + try + { + Statement answer_statement = WebSession.getConnection(s) + .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + ResultSet answer_results = answer_statement.executeQuery(query); + answer_results.beforeFirst(); + while (answer_results.next()) + { + int employeeId = answer_results.getInt("userid"); + String firstName = answer_results.getString("first_name"); + String lastName = answer_results.getString("last_name"); + String role = answer_results.getString("role"); + EmployeeStub stub = new EmployeeStub(employeeId, firstName, + lastName, role); + employees.add(stub); + } + } + catch (SQLException sqle) + { + s.setMessage("Error getting employees"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error getting employees"); + e.printStackTrace(); + } + + return employees; + } + +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Logout.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Logout.java new file mode 100755 index 000000000..1f2b2a05e --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/Logout.java @@ -0,0 +1,87 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.lessons.LessonAction; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +import org.owasp.webgoat.session.ValidationException; +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/ + */ +public class Logout extends DefaultLessonAction +{ + + private LessonAction chainedAction; + + + public Logout(AbstractLesson lesson, String lessonName, String actionName, + LessonAction chainedAction) + { + super(lesson, lessonName, actionName); + this.chainedAction = chainedAction; + } + + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + ValidationException + { + //System.out.println("Logging out"); + + setSessionAttribute(s, getLessonName() + ".isAuthenticated", + Boolean.FALSE); + + // FIXME: Maybe we should forward to Login. + try + { + chainedAction.handleRequest(s); + } + catch (UnauthenticatedException ue1) + { + System.out.println("Internal server error"); + ue1.printStackTrace(); + } + catch (UnauthorizedException ue2) + { + System.out.println("Internal server error"); + ue2.printStackTrace(); + } + + } + + + public String getNextPage(WebSession s) + { + return chainedAction.getNextPage(s); + } + +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/SearchStaff.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/SearchStaff.java new file mode 100755 index 000000000..91307d3f9 --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/SearchStaff.java @@ -0,0 +1,51 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +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/ + */ +public class SearchStaff extends DefaultLessonAction +{ + + public SearchStaff(AbstractLesson lesson, String lessonName, + String actionName) + { + super(lesson, lessonName, actionName); + } + + + public String getNextPage(WebSession s) + { + return GoatHillsFinancial.SEARCHSTAFF_ACTION; + } + +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/UpdateProfile.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/UpdateProfile.java new file mode 100755 index 000000000..f93a231ea --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/UpdateProfile.java @@ -0,0 +1,270 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.lessons.LessonAction; +import org.owasp.webgoat.session.Employee; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +import org.owasp.webgoat.session.ValidationException; +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/ + */ +public class UpdateProfile extends DefaultLessonAction +{ + + private LessonAction chainedAction; + + public UpdateProfile(AbstractLesson lesson, String lessonName, + String actionName, LessonAction chainedAction) + { + super(lesson, lessonName, actionName); + this.chainedAction = chainedAction; + } + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + UnauthenticatedException, UnauthorizedException, + ValidationException + { + if (isAuthenticated(s)) + { + int userId = getIntSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.USER_ID); + + int subjectId = s.getParser().getIntParameter( + GoatHillsFinancial.EMPLOYEE_ID, 0); + + String firstName = s.getParser().getStringParameter( + GoatHillsFinancial.FIRST_NAME); + String lastName = s.getParser().getStringParameter( + GoatHillsFinancial.LAST_NAME); + String ssn = s.getParser().getStringParameter( + GoatHillsFinancial.SSN); + String title = s.getParser().getStringParameter( + GoatHillsFinancial.TITLE); + String phone = s.getParser().getStringParameter( + GoatHillsFinancial.PHONE_NUMBER); + String address1 = s.getParser().getStringParameter( + GoatHillsFinancial.ADDRESS1); + String address2 = s.getParser().getStringParameter( + GoatHillsFinancial.ADDRESS2); + int manager = s.getParser().getIntParameter( + GoatHillsFinancial.MANAGER); + String startDate = s.getParser().getStringParameter( + GoatHillsFinancial.START_DATE); + int salary = s.getParser().getIntParameter( + GoatHillsFinancial.SALARY); + String ccn = s.getParser().getStringParameter( + GoatHillsFinancial.CCN); + int ccnLimit = s.getParser().getIntParameter( + GoatHillsFinancial.CCN_LIMIT); + String disciplinaryActionDate = s.getParser().getStringParameter( + GoatHillsFinancial.DISCIPLINARY_DATE); + String disciplinaryActionNotes = s.getParser().getStringParameter( + GoatHillsFinancial.DISCIPLINARY_NOTES); + String personalDescription = s.getParser().getStringParameter( + GoatHillsFinancial.DESCRIPTION); + + Employee employee = new Employee(subjectId, firstName, lastName, + ssn, title, phone, address1, address2, manager, startDate, + salary, ccn, ccnLimit, disciplinaryActionDate, + disciplinaryActionNotes, personalDescription); + + if (subjectId > 0) + { + this.changeEmployeeProfile(s, userId, subjectId, employee); + setRequestAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ID, Integer + .toString(subjectId)); + } + else + this.createEmployeeProfile(s, userId, employee); + + try + { + chainedAction.handleRequest(s); + } + catch (UnauthenticatedException ue1) + { + System.out.println("Internal server error"); + ue1.printStackTrace(); + } + catch (UnauthorizedException ue2) + { + System.out.println("Internal server error"); + ue2.printStackTrace(); + } + } + else + throw new UnauthenticatedException(); + } + + public String getNextPage(WebSession s) + { + return GoatHillsFinancial.VIEWPROFILE_ACTION; + } + + public void changeEmployeeProfile(WebSession s, int userId, int subjectId, + Employee employee) throws UnauthorizedException + { + try + { + // Note: The password field is ONLY set by ChangePassword + String query = "UPDATE employee SET first_name = '" + + employee.getFirstName() + "', last_name = '" + + employee.getLastName() + "', ssn = '" + employee.getSsn() + + "', title = '" + employee.getTitle() + "', phone = '" + + employee.getPhoneNumber() + "', address1 = '" + + employee.getAddress1() + "', address2 = '" + + employee.getAddress2() + "', manager = " + + employee.getManager() + + ", start_date = '" + + employee.getStartDate() + + "', ccn = '" + + employee.getCcn() + + "', ccn_limit = " + + employee.getCcnLimit() + + + // "', disciplined_date = '" + employee.getDisciplinaryActionDate() + + // "', disciplined_notes = '" + employee.getDisciplinaryActionNotes() + + ", personal_description = '" + + employee.getPersonalDescription() + "' WHERE userid = " + + subjectId; + //System.out.println("Query: " + query); + try + { + Statement answer_statement = WebSession.getConnection(s) + .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + answer_statement.execute(query); + } + catch (SQLException sqle) + { + s.setMessage("Error updating employee profile"); + sqle.printStackTrace(); + } + + } + catch (Exception e) + { + s.setMessage("Error updating employee profile"); + e.printStackTrace(); + } + } + + private int getNextUID(WebSession s) + { + int uid = -1; + try + { + Statement statement = WebSession.getConnection(s).createStatement( + ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + ResultSet results = statement + .executeQuery("select max(userid) as uid from employee"); + results.first(); + uid = results.getInt("uid"); + } + catch (SQLException sqle) + { + sqle.printStackTrace(); + s.setMessage("Error updating employee profile"); + } + catch (ClassNotFoundException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return uid + 1; + } + + public void createEmployeeProfile(WebSession s, int userId, + Employee employee) throws UnauthorizedException + { + try + { + int newUID = getNextUID(s); + // FIXME: This max() thing doesn't work on InstantDB. + String query = "INSERT INTO employee VALUES (" + newUID + ", '" + + employee.getFirstName() + "','" + employee.getLastName() + + "','" + employee.getSsn() + "','goober57x','" + + employee.getTitle() + "','" + employee.getPhoneNumber() + + "','" + employee.getAddress1() + "','" + + employee.getAddress2() + "'," + employee.getManager() + + ",'" + employee.getStartDate() + "'," + + employee.getSalary() + ",'" + employee.getCcn() + "'," + + employee.getCcnLimit() + ",'" + + employee.getDisciplinaryActionDate() + "','" + + employee.getDisciplinaryActionNotes() + "','" + + employee.getPersonalDescription() + "')"; + + //System.out.println("Query: " + query); + + try + { + Statement statement = WebSession.getConnection(s) + .createStatement(); + statement.executeUpdate(query); + } + catch (SQLException sqle) + { + sqle.printStackTrace(); + s.setMessage("Error updating employee profile"); + } + + query = "INSERT INTO roles VALUES (" + newUID + ", 'hr')"; + + //System.out.println("Query: " + query); + + try + { + Statement statement = WebSession.getConnection(s) + .createStatement(); + statement.executeUpdate(query); + } + catch (SQLException sqle) + { + sqle.printStackTrace(); + s.setMessage("Error updating employee profile"); + } + } + catch (Exception e) + { + e.printStackTrace(); + s.setMessage("Error updating employee profile"); + } + } +} diff --git a/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ViewProfile.java b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ViewProfile.java new file mode 100755 index 000000000..260a4f48d --- /dev/null +++ b/ webgoat/main/project/JavaSource/org/owasp/webgoat/lessons/GoatHillsFinancial/ViewProfile.java @@ -0,0 +1,148 @@ +package org.owasp.webgoat.lessons.GoatHillsFinancial; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import org.owasp.webgoat.lessons.AbstractLesson; +import org.owasp.webgoat.lessons.DefaultLessonAction; +import org.owasp.webgoat.session.Employee; +import org.owasp.webgoat.session.ParameterNotFoundException; +import org.owasp.webgoat.session.UnauthenticatedException; +import org.owasp.webgoat.session.UnauthorizedException; +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/ + */ +public class ViewProfile extends DefaultLessonAction +{ + + public ViewProfile(AbstractLesson lesson, String lessonName, + String actionName) + { + super(lesson, lessonName, actionName); + } + + + public void handleRequest(WebSession s) throws ParameterNotFoundException, + UnauthenticatedException, UnauthorizedException + { + getLesson().setCurrentAction(s, getActionName()); + + if (isAuthenticated(s)) + { + int userId = getIntSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.USER_ID); + int employeeId = -1; + try + { + // User selected employee + employeeId = s.getParser().getIntParameter( + GoatHillsFinancial.EMPLOYEE_ID); + } + catch (ParameterNotFoundException e) + { + // May be an internally selected employee + employeeId = getIntRequestAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ID); + } + + Employee employee = getEmployeeProfile(s, userId, employeeId); + setSessionAttribute(s, getLessonName() + "." + + GoatHillsFinancial.EMPLOYEE_ATTRIBUTE_KEY, employee); + } + else + throw new UnauthenticatedException(); + + } + + public String getNextPage(WebSession s) + { + return GoatHillsFinancial.VIEWPROFILE_ACTION; + } + + + protected Employee getEmployeeProfile(WebSession s, int userId, + int subjectUserId) throws UnauthorizedException + { + Employee profile = null; + + // Query the database for the profile data of the given employee + try + { + String query = "SELECT * FROM employee WHERE userid = " + + subjectUserId; + + try + { + Statement answer_statement = WebSession.getConnection(s) + .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, + ResultSet.CONCUR_READ_ONLY); + ResultSet answer_results = answer_statement.executeQuery(query); + if (answer_results.next()) + { + // Note: Do NOT get the password field. + profile = new Employee(answer_results.getInt("userid"), + answer_results.getString("first_name"), + answer_results.getString("last_name"), + answer_results.getString("ssn"), answer_results + .getString("title"), answer_results + .getString("phone"), answer_results + .getString("address1"), answer_results + .getString("address2"), answer_results + .getInt("manager"), answer_results + .getString("start_date"), answer_results + .getInt("salary"), answer_results + .getString("ccn"), answer_results + .getInt("ccn_limit"), answer_results + .getString("disciplined_date"), + answer_results.getString("disciplined_notes"), + answer_results.getString("personal_description")); + /* System.out.println("Retrieved employee from db: " + + profile.getFirstName() + " " + profile.getLastName() + + " (" + profile.getId() + ")"); + */} + } + catch (SQLException sqle) + { + s.setMessage("Error getting employee profile"); + sqle.printStackTrace(); + } + } + catch (Exception e) + { + s.setMessage("Error getting employee profile"); + e.printStackTrace(); + } + + return profile; + } + +} diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/EditProfile.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/EditProfile.jsp new file mode 100755 index 000000000..adc43dceb --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/EditProfile.jsp @@ -0,0 +1,137 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="java.util.*, org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial" + errorPage="" %> +<% + WebSession webSession = ((WebSession)session.getAttribute("websession")); + Employee employee = (Employee) session.getAttribute("GoatHillsFinancial.Employee"); +%> +
Welcome Back <%=webSession.getUserNameInLesson()%> - Edit Profile Page
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ First Name: + + + + Last Name: + +
+ Street: + + + + City/State: + + +
+ Phone: + + + + Start Date: + + +
+ SSN: + + + + Salary: + + +
+ Credit Card: + + + + Credit Card Limit: + + +
+ Comments: + + +
+ Disciplinary Explanation: + + Disc. Date: + + +
+ +
+ Manager: + + +
+
+
+ + + + + + + + +
+ + + + + + + +
+
+
+ \ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.css b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.css new file mode 100755 index 000000000..61e93f63c --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.css @@ -0,0 +1,14 @@ +#lesson_wrapper {height: 435px;width: 500px;} +#lesson_header {background-image: url(lessons/GoatHillsFinancial/images/lesson1_header.jpg);width: 490px;padding-right: 10px;padding-top: 60px;background-repeat: no-repeat;} +.lesson_workspace {background-image: url(lessons/GoatHillsFinancial/images/lesson1_workspace.jpg);width: 489px;height: 325px;padding-left: 10px;padding-top: 10px;background-repeat: no-repeat;} +.lesson_text {height: 240px;width: 460px;padding-top: 5px;} +#lesson_buttons_bottom {height: 20px;width: 460px;} +#lesson_b_b_left {width: 300px;float: left;} +#lesson_b_b_right input {width: 100px;float: right;} +.lesson_title_box {height: 20px;width: 420px;padding-left: 30px;} +.lesson_workspace { } +.lesson_txt_10 {font-family: Arial, Helvetica, sans-serif;font-size: 10px;} +.lesson_text_db {color: #0066FF} +#lesson_login {background-image: url(lessons/GoatHillsFinancial/images/lesson1_loginWindow.jpg);height: 124px;width: 311px;background-repeat: no-repeat;padding-top: 30px;margin-left: 80px;margin-top: 50px;text-align: center;} +#lesson_login_txt {font-family: Arial, Helvetica, sans-serif;font-size: 12px;text-align: center;} +#lesson_search {background-image: url(lessons/GoatHillsFinancial/images/lesson1_SearchWindow.jpg);height: 124px;width: 311px;background-repeat: no-repeat;padding-top: 30px;margin-left: 80px;margin-top: 50px;text-align: center;} diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.jsp new file mode 100755 index 000000000..90dbef989 --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/GoatHillsFinancial.jsp @@ -0,0 +1,30 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="org.owasp.webgoat.session.*" + errorPage="" %> +<%@page import="org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial;"%> + +<% +WebSession webSession = ((WebSession)session.getAttribute("websession")); +System.out.println("WebSession is " + webSession); +GoatHillsFinancial currentLesson = (GoatHillsFinancial) webSession.getCurrentLesson(); +System.out.println("CurrentLesson = " + currentLesson); +%> +
+
+
+ <% + String subViewPage = currentLesson.getPage(webSession); + System.out.println("SubViewPage is " + subViewPage); + if (subViewPage != null) + { + //System.out.println("Including sub view page: " + subViewPage); + %> + + <% + } + %> + +
+
\ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ListStaff.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ListStaff.jsp new file mode 100755 index 000000000..8bb414b0d --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ListStaff.jsp @@ -0,0 +1,55 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="java.util.*, org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial" + errorPage="" %> +<% + WebSession webSession = ((WebSession)session.getAttribute("websession")); + int myUserId = webSession.getUserIdInLesson(); +%> +
Welcome Back <%=webSession.getUserNameInLesson()%> - Staff Listing Page
+
+
+
+

Select from the list below

+ +
+ + + + + +
+
+
+ <% + if (webSession.isAuthorizedInLesson(myUserId, GoatHillsFinancial.CREATEPROFILE_ACTION)) + { + %> +
+ <% + } + %> + <% + if (webSession.isAuthorizedInLesson(myUserId, GoatHillsFinancial.DELETEPROFILE_ACTION)) + { + %> +
+ <% + } + %> +
+ +
+ +
+ \ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/Login.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/Login.jsp new file mode 100755 index 000000000..a48eef7a4 --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/Login.jsp @@ -0,0 +1,37 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="java.util.*, org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial" + errorPage="" %> +
+
+ <% + WebSession webSession = ((WebSession)session.getAttribute("websession")); + %> +
+ +
+ +
+ +
+
+
\ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/SearchStaff.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/SearchStaff.jsp new file mode 100755 index 000000000..d88942ae5 --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/SearchStaff.jsp @@ -0,0 +1,22 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial" + errorPage="" %> + \ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ViewProfile.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ViewProfile.jsp new file mode 100755 index 000000000..aa2a95fb9 --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/ViewProfile.jsp @@ -0,0 +1,157 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial" + errorPage="" %> +<% + Employee employee = (Employee) session.getAttribute("GoatHillsFinancial." + GoatHillsFinancial.EMPLOYEE_ATTRIBUTE_KEY); + WebSession webSession = ((WebSession)session.getAttribute("websession")); +// int myUserId = getIntSessionAttribute(webSession, "GoatHillsFinancial." + GoatHillsFinancial.USER_ID); +%> +
Welcome Back <%=webSession.getUserNameInLesson()%> - View Profile Page
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ First Name: + + <%=employee.getFirstName()%> + + Last Name: + + <%=employee.getLastName()%> +
+ Street: + + <%=employee.getAddress1()%> + + City/State: + + <%=employee.getAddress2()%> +
+ Phone: + + <%=employee.getPhoneNumber()%> + + Start Date: + + <%=employee.getStartDate()%> +
+ SSN: + + <%=employee.getSsn()%> + + Salary: + + <%=employee.getSalary()%> +
+ Credit Card: + + <%=employee.getCcn()%> + + Credit Card Limit: + + <%=employee.getCcnLimit()%> +
+ Comments: + + <%=employee.getPersonalDescription()%> +
+ Disciplinary Explanation: + + Disc. Dates: + + <%=employee.getDisciplinaryActionDate()%> +
+ <%=employee.getDisciplinaryActionNotes()%> +
+ Manager: + + <%=employee.getManager()%> +
+
+
+ + + + + + + + +
+ <% + if (webSession.isAuthorizedInLesson(webSession.getUserIdInLesson(), GoatHillsFinancial.LISTSTAFF_ACTION)) + { + %> +
+ + +
+ <% + }%> +
+ <% + if (webSession.isAuthorizedInLesson(webSession.getUserIdInLesson(), GoatHillsFinancial.EDITPROFILE_ACTION)) + { + %> +
+ + +
+ <% + } + %> +
+ <% + if (webSession.isAuthorizedInLesson(webSession.getUserIdInLesson(), GoatHillsFinancial.DELETEPROFILE_ACTION)) + { + %> +
+ + +
+ <% + } + %> +
  +
+ +
+
+
\ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/error.jsp b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/error.jsp new file mode 100755 index 000000000..556f3200a --- /dev/null +++ b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/error.jsp @@ -0,0 +1,13 @@ +<%@ page contentType="text/html; charset=ISO-8859-1" language="java" + import="org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.GoatHillsFinancial.GoatHillsFinancial" + errorPage="" %> +<% + WebSession webSession = ((WebSession)session.getAttribute("websession")); +// int myUserId = getIntSessionAttribute(webSession, "GoatHillsFinancial." + GoatHillsFinancial.USER_ID); +%> +


An error has occurred. +


+
+ + +
\ No newline at end of file diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/accessControl.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/accessControl.jpg new file mode 100755 index 0000000000000000000000000000000000000000..e9af72c50c5b31a3a257b1ea4821ac8951904b17 GIT binary patch literal 35331 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 literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/dbSchema.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/dbSchema.jpg new file mode 100755 index 0000000000000000000000000000000000000000..457b634d0b8b53348a38a133f7da26b65a8fc70e GIT binary patch literal 105001 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

    !H4)-17O;8HB-j}Y!yxB*Z|lBDd@E7~e{ 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 literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_SearchWindow.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_SearchWindow.jpg new file mode 100755 index 0000000000000000000000000000000000000000..39e1ed80d641b9f1fc074273cea345017b5239de GIT binary patch literal 34912 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 P!qAd9PNfa9K9&9t`uTvo literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_header.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_header.jpg new file mode 100755 index 0000000000000000000000000000000000000000..60a809af01cd39c520a84573529811cc745ca362 GIT binary patch literal 44854 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 literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_loginWindow.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_loginWindow.jpg new file mode 100755 index 0000000000000000000000000000000000000000..c91f8a0524160d98d06ea95ad5dc242c9623b50e GIT binary patch literal 9976 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 literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_menu.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_menu.jpg new file mode 100755 index 0000000000000000000000000000000000000000..2c9512571bf9b2c2bba827bd5e95571174c8c492 GIT binary patch literal 5682 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 literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_workspace.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/lesson1_workspace.jpg new file mode 100755 index 0000000000000000000000000000000000000000..292d25654bdb690fd67b05bab161168aa66fe990 GIT binary patch literal 23580 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 literal 0 HcmV?d00001 diff --git a/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/orgChart.jpg b/ webgoat/main/project/WebContent/lessons/GoatHillsFinancial/images/orgChart.jpg new file mode 100755 index 0000000000000000000000000000000000000000..016c0d162030d9c90fd10758fe0726937860faea GIT binary patch literal 87561 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 z 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 CbY05; literal 0 HcmV?d00001