== Introducing WebWolf

You only need WebWolf if you a lesson specifies you can use it. For a lot of lessons you use WebGoat without
starting WebWolf. If you need to do an exercise with WebWolf make sure it is running along side with WebGoat. Lessons
where you can use WebWolf are marked with the following icon (top right in assignment):

{nbsp}

image::images/wolf-enabled.png[width=115,height=128]

{nbsp}

Even if the icon the present your are not obliged to use WebWolf, you can also use any intercepting tool you like, like
`netcat` etc.

WebWolf is a separate web application which simulates an attackers machine. It makes it possible for us to
make a clear distinction between what takes place on the attacked website and the actions you need to do as
an "attacker". WebWolf was introduced after a couple of workshops where we received feedback about the fact there
was no clear distinction between what was part of the "attackers" role and what was part of the "users" role on the
website. The following items are supported in WebWolf:

* Hosting a file
* Receiving email
* Landing page for incoming requests

WebWolf runs as a separate web application and is started automatically when using the Docker image. If you
are not using the Docker image you will need to download the jar file and start it:

```
java -jar webwolf-<<version>>.jar [--server.port=9090] [--server.address=localhost]
```

By default WebWolf starts on port 9090 with `--server.port` you can specify a different port. With `server.address` you
can bind it to a different address (default localhost)

WebWolf is also available as a Docker container, because it shares the database with WebGoat we first need
to find out the ip address of the Docker container.

```
WEBGOAT_SERVER_ADDRESS=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" `docker ps | grep webgoat | awk '{print $1}'`)
docker pull webgoat/webwolf
docker run -e webgoat.server.address=${WEBGOAT_SERVER_ADDRESS} -it -p 9090:9090 webgoat/webwolf /home/webwolf/run.sh
```

Note: if you start WebGoat as standalone application you need to start WebWolf as standalone application as well. If
you start WebGoat as Docker container you need to start WebWolf as Docker container as well.


This will start the application on port 9090, click webWolfLink:here[] to open WebWolf.
First thing you need to do is register a new user within WebWolf.