Concept / Topic To Teach:
Client-side validation should not be considered a secure means of validating parameters. This validation only helps reducing the amount of server processing time for normal users who do not know the format of required input. Attackers can bypass these mechanisms easily in various ways. Any client-side validation should be duplicated on the server side. This will greatly reduce the likelihood of insecure parameter values being used in the application.
For this exercise, the web site requires that you follow certain rules when you fill out a form. The user should be able to break those rules, and send the website input that it wasn't expecting.
Figure 1 Lesson 6
Figure 2 Intercept request
Add different symbols to the fields and click "Accept changes".
Figure 3 Change parameters
Figure 4 Lesson 6 Completed
Figure 5 Enable "Intercept responses"
Figure 6 Intercepted response
If you remove the onclick="validate();" the "Submit" button will not work anymore.
Figure 7 The function validate()
Figure 8 Changed validate() function
Click "Accept changes". This returns a HTML page like before but without any regular expression checks.
Figure 9 It looks the same
Change the fields in the HTML page to contain symbols like @#@@# and click "Submit".
Figure 10 No more regular expression checks
Figure 11 Lesson 6 Completed
|Solution by Erwin Geirnaert|