updating AJAX lesson plans

git-svn-id: http://webgoat.googlecode.com/svn/trunk@247 4033779f-a91e-0410-96ef-6bf7bf53c507
This commit is contained in:
rogan.dawes 2008-01-10 10:44:27 +00:00
parent a84d0e951d
commit ebfcd02a9f
4 changed files with 49 additions and 2 deletions

View File

@ -0,0 +1,12 @@
<div align="Center">
<p><b>Lesson Plan Title: </b>Client Side Filtering</p>
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<!-- Start Instructions -->
It is always a good practice to send to the client only information which they are supposed
to have access to. In this lesson, too much information is being sent to the client, creating
a serious access control problem.
<!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p>
For this exercise, your mission is exploit the extraneous information being returned by the
server to discover information to which you should not have access.

View File

@ -0,0 +1,15 @@
<div align="Center">
<p><b>Lesson Plan Title: </b>Client Side Validation</p>
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<!-- Start Instructions -->
It is always a good practice to validate all input on the server side. Leaving the
mechanism for validation on the client side leaves it vulnerable to reverse
engineering. Remember, anything on the client side should not be
considered a secret.
<!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p>
For this exercise, your mission is to discover a coupon code to receive an unintended
discount. Then, exploit the use of client side validation to submit an order with a
cost of zero.

View File

@ -0,0 +1,15 @@
<div align="Center">
<p><b>Lesson Plan Title: </b>DOM Based Cross Site Scripting (XSS)</p>
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<!-- Start Instructions -->
The Document Object Model (DOM) presents an interesting problem from
a security standpoint. It allows the content of a web page to be dynamically
modified, but that can be abused by attackers during a malicious code injection. XSS,
a type of malicious code injection, can occur when unvalidated user input is used directly
to modify the content of a page on the client side.
<!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p>
For this exercise, your mission is to use this vulnerability to inject
malicious code into the DOM. Then in the last stage, you will correct
the flaws in the code to address the vulnerability.

View File

@ -3,7 +3,12 @@
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<!-- Start Instructions -->
It is always a good practice to validate all input on the server side. XSS can occur when unvalidated user input is used in an HTTP response. In this lesson, unvalidated user-supplied data is used in conjunction with a Javascript eval() call. In a reflected XSS attack, an attacker can craft a URL with the attack script and post it to another website, email it, or otherwise get a victim to click on it.
It is always a good practice to validate all input on the server side. XSS can occur
when unvalidated user input is reflected directly into an HTTP response. In this lesson, unvalidated
user-supplied data is used in conjunction with a Javascript eval() call. In a reflected
XSS attack, an attacker can craft a URL with the attack script and store it on another
website, email it, or otherwise trick a victim into clicking on it.
<!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p>
For this exercise, your mission is to come up with some input containing a script. You have to try to get this page to reflect that input back to your browser, which will execute the script. In order to pass this lesson, you must 'alert()' document.cookie.
For this exercise, your mission is to come up with some input which, when run through eval,
will execute a malicious script. In order to pass this lesson, you must 'alert()' document.cookie.