You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/main/webapp/lesson_plans/en/CSRF.html
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,6 @@
21
21
</div>
22
22
<p><b>General Goal(s):</b></p>
23
23
<!-- Start Instructions -->
24
-
Your goal is to send an email to a newsgroup that contains an image whose URL is pointing to a malicious request. Try to include a 1x1 pixel image that includes a URL. The URL should point to the CSRF lesson with an extra parameter "transferFunds=4000". You can copy the shortcut from the left hand menu by right clicking on the left hand menu and choosing copy shortcut. Whoever receives this email and happens to be authenticated at that time will have his funds transferred. When you think the attack is successful, refresh the page and you will find the green check on the left hand side menu.
24
+
Your goal is to send an email to a newsgroup that contains an image whose URL is pointing to a malicious request. Try to include a 1x1 pixel image that includes a URL. The URL should point to the CSRF lesson with an extra parameter "transferFunds=4000". You can copy the shortcut from the left hand menu by right clicking on the left hand menu and choosing copy shortcut. Whoever receives this email and happens to be authenticated at that time will have his funds transferred. When you think the attack is successful, refresh the page and you will find the green check on the left hand side menu.<br/><b>Note that the "Screen" and "menu" GET variables will vary between WebGoat builds. Copying the menu link on the left will give you the current values.</b>
Copy file name to clipboardExpand all lines: src/main/webapp/lesson_plans/en/CsrfPromptByPass.html
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,7 @@
27
27
left hand menu by right clicking on the left hand menu and choosing copy shortcut. Whoever
28
28
receives this email and happens to be authenticated at that time will have his funds transferred.
29
29
When you think the attack is successful, refresh the page and you will find the green check on
30
-
the left hand side menu.
30
+
the left hand side menu.<br/>
31
+
<b>Note that the "Screen" and "menu" GET variables will vary between WebGoat builds. Copying the menu link on the left will give you the current values.</b>
Copy file name to clipboardExpand all lines: src/main/webapp/lesson_plans/en/CsrfTokenByPass.html
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,8 @@
31
31
The page that presents the transfer funds form contains a valid request token. The URL for the
32
32
transfer funds page is the same as this lesson with an extra parameter "transferFunds=main". Load
33
33
this page, read the token and append the token in a forged request to transferFunds. When you think
34
-
the attack is successful, refresh the page and you will find the green check on the left hand side menu.
34
+
the attack is successful, refresh the page and you will find the green check on the left hand side menu.<br/>
35
+
<b>Note that the "Screen" and "menu" GET variables will vary between WebGoat builds. Copying the menu link on the left will give you the current values.</b>
Copy file name to clipboardExpand all lines: src/main/webapp/lesson_plans/en/HttpBasics.html
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
<p>
9
9
<b>How HTTP works:</b>
10
10
</p>
11
-
All HTTP transactions follow the same general format. Each client request and server response has three parts: the request or response line, a header section, and the entity body. The client initiates a transaction as follows: <br>
11
+
All HTTP transactions follow the same general format. Each client request and server response has three parts: the request or response line, a header section and the entity body. The client initiates a transaction as follows: <br>
12
12
<br>
13
13
The client contacts the server and sends a document request <br>
14
14
</div>
@@ -20,8 +20,8 @@
20
20
After sending the request and headers, the client may send additional data. This data is mostly used by CGI programs using the POST method.<br>
21
21
<p><b>General Goal(s):</b></p>
22
22
<!-- Start Instructions -->
23
-
Enter your name in the input field below and press "go" to submit. The server will accept the request, reverse the input, and display it back to the user, illustrating the basics of handling an HTTP request.
23
+
Enter your name in the input field below and press "Go!" to submit. The server will accept the request, reverse the input and display it back to the user, illustrating the basics of handling an HTTP request.
24
24
<br/><br/>
25
25
The user should become familiar with the features of WebGoat by manipulating the above
26
-
buttons to view hints, show the HTTP request parameters, the HTTP request cookies, and the Java source code. You may also try using WebScarab for the first time.
26
+
buttons to view hints, show the HTTP request parameters, the HTTP request cookies, and the Java source code. You may also try using OWASP Zed Attack Proxy for the first time.
<p><b>Lesson Plan Title:</b> How to Exploit "Off-by-One" Buffer Overflow Vulnerabilities</p>
3
+
</div>
4
+
<p><b>Concept / Topic To Teach:</b></p>
5
+
How to Exploit a Web Based "Off-by-One" Buffer Overflow.
6
+
<br>
7
+
<divalign="Left">
8
+
<p><b>How the attack works:</b>
9
+
</p>
10
+
Despite being more rare, buffer overflow vulnerabilities on the web occur when a tier of the application has insufficient memory allocated to deal with the data submitted by the user. Typically, such a tier would be written in C or a similar language.
11
+
12
+
For the particular subset, namely, off-by-one overflows, this lesson focuses on the consequences of being able to overwrite the position for the trailing null byte.
13
+
14
+
As a result, further information is returned back to the user, due to the fact that no null byte was found.
15
+
</div>
16
+
<p><b>Lesson Goal(s):</b></p>
17
+
<!-- Start Instructions -->
18
+
<p>Welcome to the <b>OWASP Hotel</b>! Can you find out which room a VIP guest is staying in?</p>
19
+
<!-- Stop Instructions -->
20
+
* Understand how a buffer overflow vulnerability can be triggered on a web application.<br>
21
+
* Understand what type of value lengths are likely to trigger a buffer overflow.<br>
Copy file name to clipboardExpand all lines: src/main/webapp/lesson_plans/en/PasswordStrength.html
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,9 @@
3
3
</div>
4
4
<p><b>Concept / Topic To Teach:</b></p>
5
5
<!-- Start Instructions -->
6
-
Accounts are only as secure as their passwords. Most users have the same weak password everywhere. If you want to protect them against brute-force-attacks your application should have good requirements for passwords. The password should contain lower case letters, capitals and numbers. The longer the password, the sbetter.
6
+
Accounts are only as secure as their passwords. Most users have the same weak password everywhere. If you want to protect them against brute-force-attacks your application should have good requirements for passwords. The password should contain lower case letters, capitals, numbers and special characters. The longer the password, the better, consider using a passphrase instead. For
7
+
more information see: <ahref="https://www.owasp.org/index.php/Authentication_Cheat_Sheet#Implement_Proper_Password_Strength_Controls" target="_blank">OWASP proper password strength</a>.
7
8
<!-- Stop Instructions -->
8
-
<br>
9
+
<br/><br/>
9
10
<p><b>General Goal(s):</b></p>
10
11
For this exercise, your job is to test several passwords on <ahref="https://howsecureismypassword.net/" target="_blank">https://howsecureismypassword.net/</a>
Copy file name to clipboardExpand all lines: src/main/webapp/lesson_plans/en/SoapRequest.html
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -5,5 +5,5 @@
5
5
<!-- Start Instructions -->
6
6
Web Services communicate through the use of SOAP requests. These requests are submitted to a web service in an attempt to execute a function defined in the web service definition language (WSDL). Let's learn something about WSDL files. Check out WebGoat's web service description language (WSDL) file.
7
7
<p><b>General Goal(s):</b></p>
8
-
Try connecting to the WSDL with a browser or Web Service tool. The URL for the web service is: http://localhost/WebGoat/services/SoapRequest The WSDL can usually be viewed by adding a ?WSDL on the end of the web service request.
8
+
Try connecting to the WSDL with a browser or Web Service tool. The URL for the web service is: http://localhost/WebGoat/services/SoapRequest The WSDL can usually be viewed by adding a ?WSDL on the end of the web service request. You must access 2 of the operations to pass this lesson.
0 commit comments