1
1
<!-- Start Instructions -->
2
2
< h1 > How To Work With WebGoat</ h1 >
3
3
< p >
4
- Welcome to a short introduction to WebGoat.< br >
5
- Here you will learn how to use WebGoat and additional tools for the lessons.< br > < br >
4
+ Welcome to a brief overview of WebGoat.< br >
6
5
</ p >
7
6
< h2 > Environment Information</ h2 >
8
7
< p >
9
- WebGoat uses the Apache Tomcat server. It is configured to run on localhost although this can be
10
- easily changed. This
11
- configuration is for single user, additional users can be added in the tomcat-users.xml file.
12
- If you want to use WebGoat in a laboratory or in
13
- class you might need to change this setup. Please refer to the Tomcat Configuration
14
- in the Introduction section.</ p >
8
+ WebGoat uses the Apache Tomcat server but can run in any application server. It is configured to run on
9
+ localhost although this can be easily changed. </ p >
15
10
16
11
< h2 > The WebGoat Interface</ h2 >
17
12
< p >
18
- < img src ="images/introduction/interface.jpg "> < br > < br >
13
+ < img src ="images/introduction/interface.png "> < br > < br >
19
14
1. These are Lesson Categories in WebGoat. Click on a Category to see all Lessons in it.< br >
20
- 2. This will show technical hints to solve the lesson.< br >
21
- 3. This will show the HTTP Request Parameters< br >
22
- 4. This will show the HTTP Request Cookies< br >
23
- 5. This will show goals and objectives of the lesson.< br >
24
- 6. This will show the underlying Java source code.< br >
25
- 7. This will show the complete solution of the selected lesson.< br >
26
- 8. If you want to restart a lesson you can use this link.</ p >
15
+ 2. This will show the underlying Java source code.< br >
16
+ 3. This will show the complete solution of the selected lesson.< br >
17
+ 4. This will show goals and objectives of the lesson.< br >
18
+ 5. This will show technical hints to solve the lesson.< br >
19
+ 6. This will show the HTTP request data< br >
20
+ 7. If you want to restart a lesson you can use this link.</ p >
27
21
< h2 > Solve The Lesson</ h2 >
28
22
< p >
29
23
Always start with the lessons plan. Then try to solve the lesson and if necessary,
@@ -32,12 +26,48 @@ <h2>Solve The Lesson</h2>
32
26
< h2 > Read And Edit Parameters</ h2 >
33
27
< p >
34
28
To read and edit Parameters you need a local proxy to intercept the HTTP request.
35
- Here we use WebScarab . More information on WebScarab can be found in the "Useful Tools" Chapter.
29
+ Here we use OWASP ZAP . More information on ZAP can be found in the "Useful Tools" Chapter.
36
30
</ p >
37
31
< h2 > Read And Edit Cookies</ h2 >
38
32
< p >
39
33
Often it is not only necessary to change the value of the parameters but to change the value of cookies.
40
- WebScarab has functionality for this as well.
34
+ OWASP ZAP has functionality for this as well.
41
35
42
36
</ p >
37
+
38
+ < h2 > Configuring new WebGoat users</ h2 >
39
+ < p >
40
+ WebGoat uses spring-security.xml to configure users.
41
+ < br />
42
+ < pre >
43
+ <!-- Authentication Manager -->
44
+ <authentication-manager alias="authenticationManager">
45
+ <authentication-provider>
46
+ <user-service>
47
+ <user name="guest" password="guest" authorities="ROLE_WEBGOAT_USER" />
48
+ <user name="webgoat" password="webgoat" authorities="ROLE_WEBGOAT_ADMIN" />
49
+ <user name="server" password="server" authorities="ROLE_SERVER_ADMIN" />
50
+ </user-service>
51
+ </authentication-provider>
52
+ </authentication-manager>
53
+ </ pre >
54
+ </ p>
55
+ < h2 > Adding Users</ h2 >
56
+ < p >
57
+ Usually using WebGoat you just use the user guest with the password guest.
58
+ But maybe in laboratory you have made a setup with one server and a lot of
59
+ clients. In this case you might want to have a user for every client
60
+ and you have to alter /WEB-INF/spring-security.xml as the users are stored there. < b > We recommend not to use real passwords
61
+ as the passwords are stored in plain text in this file!</ b >
62
+ </ p >
63
+ < h3 > Add User</ h3 >
64
+ < p >
65
+ Adding a user is straight forward. You can use the guest entry as an example. The added
66
+ users should have the same role as the guest user. The new user/password will not show on the login page.
67
+ Add lines like this to the file:
68
+ </ p >
69
+ < pre >
70
+ <user name="guest2" password="guest2" authorities="ROLE_WEBGOAT_USER" />
71
+ ...
72
+ </ pre >
43
73
<!-- Stop Instructions -->
0 commit comments