# How To Work With WebGoat

Welcome to a short introduction to WebGoat.
Here you will learn how to use WebGoat and additional tools for the lessons.

## Environment Information

WebGoat uses the Apache Tomcat server. It is configured to run on localhost although this can be easily changed. This configuration is for single user, additional users can be added in the tomcat-users.xml file. If you want to use WebGoat in a laboratory or in class you might need to change this setup. Please refer to the Tomcat Configuration in the Introduction section.

## The WebGoat Interface

1. These are Lesson Categories in WebGoat. Click on a Category to see all Lessons in it.
2. This will show technical hints to solve the lesson.
3. This will show the HTTP Request Parameters
4. This will show the HTTP Request Cookies
5. This will show goals and objectives of the lesson.
6. This will show the underlying Java source code.
7. This will show the complete solution of the selected lesson.
8. If you want to restart a lesson you can use this link.

## Solve The Lesson

Always start with the lessons plan. Then try to solve the lesson and if necessary, use the hints. The last hint is the solution text if applicable. If you cannot solve the lesson using the hints, you may view the solution for complete details.

## Read And Edit Parameters

To read and edit Parameters you need a local proxy to intercept the HTTP request. Here we use WebScarab. More information on WebScarab can be found in the "Useful Tools" Chapter. After installing WebScarab and configuring your browser to use it as proxy on localhost we can start.
We have to select "Intercept Request" in the tab "Intercept". If we send a HTTP request we get a new WebScarab window.
Here we can read and edit the intercepted parameter. After "Accept changes" the request will be sent to the server.

## Read And Edit Cookies

Often it is not only necessary to change the value of the parameters but to change the value of cookies. We can use WebScarab to intercept the request and change cookies values just like parameter data as explained in the last topic.
We get a new window on sending a HTTP request. On the screenshot you see where we can find cookies and how to edit the values of them.