git-svn-id: http://webgoat.googlecode.com/svn/trunk@15 4033779f-a91e-0410-96ef-6bf7bf53c507
		
			
				
	
	
		
			174 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<!--
 | 
						|
STAGE 4 FIXES Look for the <-- STAGE 4 - FIX
 | 
						|
-->
 | 
						|
<%@ page contentType="text/html; charset=ISO-8859-1" language="java" 
 | 
						|
	import="org.owasp.webgoat.session.*, org.owasp.webgoat.lessons.CrossSiteScripting.*" errorPage="" %>
 | 
						|
<%
 | 
						|
WebSession webSession = ((WebSession)session.getAttribute("websession"));
 | 
						|
	Employee employee = (Employee) session.getAttribute("CrossSiteScripting." + CrossSiteScripting.EMPLOYEE_ATTRIBUTE_KEY);
 | 
						|
//	int myUserId = getIntSessionAttribute(webSession, "CrossSiteScripting." + CrossSiteScripting.USER_ID);
 | 
						|
%>
 | 
						|
		<div class="lesson_title_box"><strong>Welcome Back </strong><span class="lesson_text_db"><%=webSession.getUserNameInLesson()%></span></div>
 | 
						|
		<div class="lesson_text">
 | 
						|
				<Table>
 | 
						|
				<TR><TD>
 | 
						|
						First Name:
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getFirstName()%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						Last Name:
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
					 	<%=employee.getLastName()%>
 | 
						|
					</TD>
 | 
						|
				</TR>
 | 
						|
				<TR><TD>				
 | 
						|
						Street: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<!-- STAGE 4 - FIX  Note that the description value below gets encoded and address1 here is not -->
 | 
						|
 | 
						|
						<%=employee.getAddress1()%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						City/State: 
 | 
						|
					<TD>
 | 
						|
						<%=employee.getAddress2()%>
 | 
						|
					</TD>
 | 
						|
				</TR>
 | 
						|
				<TR><TD>
 | 
						|
						Phone: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getPhoneNumber()%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						Start Date: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getStartDate()%>
 | 
						|
					</TD>
 | 
						|
				</TR>
 | 
						|
				<TR><TD>
 | 
						|
			    		SSN: 
 | 
						|
			    	</TD>
 | 
						|
			    	<TD>
 | 
						|
			    		<%=employee.getSsn()%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						Salary: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getSalary()%>
 | 
						|
					</TD>
 | 
						|
				</TR>
 | 
						|
				<TR><TD>
 | 
						|
						Credit Card: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getCcn()%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						Credit Card Limit: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getCcnLimit()%>
 | 
						|
					</TD>
 | 
						|
				</TR>
 | 
						|
				<TR><TD>
 | 
						|
						Comments: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<!-- Encode data that might contain HTML content to protect against XSS -->
 | 
						|
 | 
						|
						<%=webSession.htmlEncode(employee.getPersonalDescription())%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						Manager: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getManager()%>
 | 
						|
					</TD>	
 | 
						|
				</TR>
 | 
						|
				<TR><TD>
 | 
						|
						Disciplinary Explanation: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getDisciplinaryActionNotes()%>
 | 
						|
					</TD>
 | 
						|
					<TD>				
 | 
						|
						Disciplinary Action Dates: 
 | 
						|
					</TD>
 | 
						|
					<TD>
 | 
						|
						<%=employee.getDisciplinaryActionDate()%>
 | 
						|
					</TD>
 | 
						|
				</TR>
 | 
						|
				</Table>
 | 
						|
		</div>
 | 
						|
		<div class="lesson_buttons_bottom">
 | 
						|
		    <table width="460" height="20" border="0" cellpadding="0" cellspacing="0">
 | 
						|
                 <tr>
 | 
						|
                 	<td width="50">
 | 
						|
					<%					
 | 
						|
					if (webSession.isAuthorizedInLesson(webSession.getUserIdInLesson(), CrossSiteScripting.EDITPROFILE_ACTION))
 | 
						|
					{
 | 
						|
					%>
 | 
						|
						<form method="POST" action="attack?menu=<%=webSession.getCurrentMenu()%>">
 | 
						|
							<input type="hidden" name="<%=CrossSiteScripting.EMPLOYEE_ID%>" value="<%=employee.getId()%>">
 | 
						|
							<input type="submit" name="action" value="<%=CrossSiteScripting.LISTSTAFF_ACTION%>"/>
 | 
						|
						</form></td>
 | 
						|
					<% 
 | 
						|
					}
 | 
						|
					%>			
 | 
						|
		             <td width="50">
 | 
						|
					<%					
 | 
						|
					if (webSession.isAuthorizedInLesson(webSession.getUserIdInLesson(), CrossSiteScripting.EDITPROFILE_ACTION))
 | 
						|
					{
 | 
						|
					%>
 | 
						|
						<form method="POST" action="attack?menu=<%=webSession.getCurrentMenu()%>">
 | 
						|
							<input type="hidden" name="<%=CrossSiteScripting.EMPLOYEE_ID%>" value="<%=employee.getId()%>">
 | 
						|
							<input type="submit" name="action" value="<%=CrossSiteScripting.EDITPROFILE_ACTION%>"/>
 | 
						|
						</form>
 | 
						|
					<% 
 | 
						|
					}
 | 
						|
					%>			
 | 
						|
					</td>
 | 
						|
                    <td width="60">
 | 
						|
					<%					
 | 
						|
					if (webSession.isAuthorizedInLesson(webSession.getUserIdInLesson(), CrossSiteScripting.DELETEPROFILE_ACTION))
 | 
						|
					{
 | 
						|
					%>
 | 
						|
						<form method="POST" action="attack?menu=<%=webSession.getCurrentMenu()%>">
 | 
						|
							<input type="hidden" name="<%=CrossSiteScripting.EMPLOYEE_ID%>" value="<%=employee.getId()%>">
 | 
						|
							<input type="submit" name="action" value="<%=CrossSiteScripting.DELETEPROFILE_ACTION%>"/>
 | 
						|
						</form>
 | 
						|
					<% 
 | 
						|
					}
 | 
						|
					%>
 | 
						|
					</td>
 | 
						|
                      <td width="190"> </td>
 | 
						|
                      <td width="76">
 | 
						|
						<form method="POST">
 | 
						|
							<input type="submit" name="action" value="<%=CrossSiteScripting.LOGOUT_ACTION%>"/>
 | 
						|
						</form>
 | 
						|
					</td>
 | 
						|
				</tr>
 | 
						|
         	</table>
 | 
						|
		</div>
 | 
						|
		
 | 
						|
		
 | 
						|
		
 | 
						|
		<%
 | 
						|
		if (webSession.getCurrentLesson().getStage(webSession) == 1005)
 | 
						|
		{
 | 
						|
			webSession.getCurrentLesson().setStage(webSession, 5);
 | 
						|
			//System.out.println("Reloading ViewProfile.jsp for stage 5 transition");
 | 
						|
			String thisPage = webSession.getCurrentLink();
 | 
						|
			//System.out.println("Redirecting to " + thisPage);
 | 
						|
		%>
 | 
						|
			<script language="javascript">location.href="<%=thisPage%>"</script>
 | 
						|
		<%
 | 
						|
		}
 | 
						|
		%> |