Getting Started with WebGoat and WebWolf using JAR. (2024)

Christina E. Percy

·

Follow

10 min read

·

May 11, 2020

--

Getting Started with WebGoat and WebWolf using JAR. (2)

WebGoat 8: A deliberately insecure Web Application

Warning:

“It is BAD practice to host this on your host machine, so these instructions will include a virtual box virtual machine, free to use any other type 2 hypervisor.”

I am using a Windows Machine for this installation.

If you have a MAC, then feel free to follow TheHackerish’s steps: https://www.youtube.com/watch?v=tr82HB8QAWo&t=602s

Prerequisites:

If you don’t have virtual box installed, here is the download link, download the installer for your machine’s OS:

Windows: https://download.virtualbox.org/virtualbox/6.1.6/VirtualBox-6.1.6-137129-Win.exe

Mac: https://download.virtualbox.org/virtualbox/6.1.6/VirtualBox-6.1.6-137129-OSX.dmg

Linux: https://www.virtualbox.org/wiki/Linux_Downloads

Once you have virtual box installed, you’re going to need a virtual machine, for this exercise we are going to use Debian. (you can use any flavor of Linux you want)

We are going to use the Debian 10.3.0 net installer, for a faster download, click the link below, SAVE your file: https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso

*A “network install” or “net installer” is a single CD that contains the minimum amount of software to start the installation and fetch the remaining packages over the Internet. *

  1. Click New
Getting Started with WebGoat and WebWolf using JAR. (3)

2. Name it whatever you want.

a. Choose Linux for type, and Oracle (64-bit), Hit NEXT.

Getting Started with WebGoat and WebWolf using JAR. (4)

3. Leave the DEFAULT memory size: 1024 (MB), hit NEXT

Getting Started with WebGoat and WebWolf using JAR. (5)

4. Leave the DEFAULT setting for Hard disk, hit Create.

Getting Started with WebGoat and WebWolf using JAR. (6)

5. Leave DEFAULT Storage on physical hard disk, hit NEXT

Getting Started with WebGoat and WebWolf using JAR. (7)

6. Leave DEFAULT File Location and Size 12.00 (GB), Hit CREATE

Getting Started with WebGoat and WebWolf using JAR. (8)

7. Once your virtual machine has been created, we need to add the ISO that you downloaded earlier in the steps:

Getting Started with WebGoat and WebWolf using JAR. (9)

8. Once you see your settings, hit STORAGE

Getting Started with WebGoat and WebWolf using JAR. (10)

9. After you are brought to the Storage window, you’re going to want to click on the CD disk symbol:

Getting Started with WebGoat and WebWolf using JAR. (11)

10. Once the CD window pops up, you’re going to want to click on Add, which is the CD with the plus sign:

Getting Started with WebGoat and WebWolf using JAR. (12)

11. Once your file explorer window pops up, find and click on the Debian ISO file and click Open:

Getting Started with WebGoat and WebWolf using JAR. (13)

12. You should see the ISO under Controller: IDE, you can delete the empty one by right clicking and hitting remove, then click the OK button:

Getting Started with WebGoat and WebWolf using JAR. (14)

13. Click on Start to start up your virtual machine

14. Then once your screen pops up, if it doesn’t automatically pop up, you can hit SHOW which is in the same place as Start.

15. Click into your window and use your arrow keys and the enter key to select Install.

  • Remember, your right ctrl key is how you exit your cursor outside of your VM
Getting Started with WebGoat and WebWolf using JAR. (15)

16. A language window is going to pop up on the screen, hit enter on English (choose any language that you can read and understand to your liking, for this exercise we shall stick with English)

Getting Started with WebGoat and WebWolf using JAR. (16)

17. Choose the country you are in and hit Enter:

Getting Started with WebGoat and WebWolf using JAR. (17)

18. Hit Enter on American English (Again choose any language you can read and understand to your liking :)

Getting Started with WebGoat and WebWolf using JAR. (18)

19. Wait for the load bars to finish up all the way:

Getting Started with WebGoat and WebWolf using JAR. (19)

20. Using your Tab key, hit continue as we will keep the default hostname:

Getting Started with WebGoat and WebWolf using JAR. (20)

21. You DON’T need a domain name, so tab, enter <Continue> again.

Getting Started with WebGoat and WebWolf using JAR. (21)

22. Come up with a ROOT password, and make sure you can remember the password:

a. Using your tab button, hit <Continue> with enter:

Getting Started with WebGoat and WebWolf using JAR. (22)

23. Re-enter your password, make sure they match, and using your tab button, hit <Continue> with the enter key.

Getting Started with WebGoat and WebWolf using JAR. (23)

24. Enter your name for the new user, and using tab hit <Continue>, and hit enter.

Getting Started with WebGoat and WebWolf using JAR. (24)

25. Enter a username for your account, using tab again, hit <Continue> with Enter

Getting Started with WebGoat and WebWolf using JAR. (25)

26. You’re going to have to create a regular password and verify it as well.

Getting Started with WebGoat and WebWolf using JAR. (26)

27. Enter in your time zone and hit <Continue> with your tab and enter key:

Getting Started with WebGoat and WebWolf using JAR. (27)

28. Keep Default for Partition Disks (Guided — use entire disk), hit your enter key

Getting Started with WebGoat and WebWolf using JAR. (28)

29. Hit Enter for the default settings:

Getting Started with WebGoat and WebWolf using JAR. (29)

30. Hit Enter key for default:

Getting Started with WebGoat and WebWolf using JAR. (30)

31. Hit Enter key for Finishing up your partition:

Getting Started with WebGoat and WebWolf using JAR. (31)

32.Using your tab key, hit enter on <Yes>

Getting Started with WebGoat and WebWolf using JAR. (32)

33. Wait for the Install to Finish:

Getting Started with WebGoat and WebWolf using JAR. (33)

34. Hit default on <No> using your enter key to continue.

Getting Started with WebGoat and WebWolf using JAR. (34)

35. Using tab, find your country and hit your Enter key:

Getting Started with WebGoat and WebWolf using JAR. (35)

36. Hit your Enter key on the default selection for “Configure the package manager”

Getting Started with WebGoat and WebWolf using JAR. (36)

37. Hit Enter for <Continue> on Default HTTP Proxy information (blank for none):

Getting Started with WebGoat and WebWolf using JAR. (37)

38. Wait for the configuration to finish:

Getting Started with WebGoat and WebWolf using JAR. (38)

39. Hit your enter key on <No>

Getting Started with WebGoat and WebWolf using JAR. (39)

40. For Software Selection, using your space key uncheck the default. Using your space key only tick SSH server and standard system utilities. Using your tab key and enter key hit <Continue>:

Getting Started with WebGoat and WebWolf using JAR. (40)

41. Install the GRUB boot loader on a hard disk:

Getting Started with WebGoat and WebWolf using JAR. (41)

42. For “Install the GRUB boot loader on a hard disk” using the arrow keys on your keyboard and enter for /dev/sda:

Getting Started with WebGoat and WebWolf using JAR. (42)

43. Congratulations, you have finished your installation, hit enter on <Continue>:

Getting Started with WebGoat and WebWolf using JAR. (43)

44. It will take a minute to load all the way, don’t worry about it. Once it has completed, you should see a CLI screen like this, press enter and enter your login information that we set up before:

Getting Started with WebGoat and WebWolf using JAR. (44)

45. The first thing we need to do is configure your VM’s settings to be able to access it. If you use “ip a” in your CLI, you should see a 10.x.x.x.x in your second interface “inet”

46. We must configure the network as “Bridged Adapter” located in Network tab in your settings. if you click the “Attached to:” drop down:

Getting Started with WebGoat and WebWolf using JAR. (45)

47. So, once we config the bridged adapter is set 45, when you type in “ip a” and run that command we should see a new ip in your second interface. We are going to use this IP to connect to this machine:

Getting Started with WebGoat and WebWolf using JAR. (46)

48. Open a command prompt on your host machine:

a. Commands: ssh <username>@<vm ip address>

a. Yes (for ECDSA key fingerprint)

b. Enter your password for the vm user account.

Getting Started with WebGoat and WebWolf using JAR. (47)

49. Congratulations, you’ve successfully connected your machine! Get a cup of coffee, take a quick break and when you come back you will be using WebGoat with JAR. Woo!

50. So, we are going back to your virtual machine, we are going to become root in order to download the JDK version 11:

Getting Started with WebGoat and WebWolf using JAR. (48)

51. Just to make sure we have connection to the internet, ping 8.8.8.8 (google.com)

52. Once we have established a connection, go ahead and download the jdk needed using this command:

wget https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz

Getting Started with WebGoat and WebWolf using JAR. (49)

53. The next steps while in ROOT include these commands, you must make a directory and unzip that archive within that directory:

a. Mkdir /usr/lib/jvm

b. Tar xzvf openjdk-11_linux-x64_bin.tar.gz — directory /usr/lib/jvm

Getting Started with WebGoat and WebWolf using JAR. (50)

54. Next we are going to link our extracted java binary; this command is basically saying have this folder (usr/bin/java) point to our binary. Then we are verifying that Java is downloaded:

a. Command: ln -s /usr/lib/jvm/jdk-11/bin/java /usr/bin/java

b. Command: java — version

Getting Started with WebGoat and WebWolf using JAR. (51)

55. After we have verified that , we are going to remove the archive from our current directory and exiting root and going back to our regular user.

a. Commands: ls

b. Command: rm openjdk-11_linux-x64_bin.tar.gz

c. Command: exit

Getting Started with WebGoat and WebWolf using JAR. (52)

56. Yay, now we have Java installed. So now we can go back to our host machine and access the GitHub repository for webgoat:https://github.com/WebGoat/WebGoat/releases

57. You are going to copy the link address for the most recent release, for the current publish of this document: v8.0.0.M26:

Getting Started with WebGoat and WebWolf using JAR. (53)

58. On your HOST machine, open a cmd and if you have to, reconnect to your vm using:

a. Command: ssh <username>@<ip address for vm>

59. Once you are connected to your vm from the cmd on your HOST machine, use this command to get the web goat archive:

a. Command: wget https://github.com/WebGoat/WebGoat/releases/download/v8.0.0.M26/webgoat-server-8.0.0.M26.jar

Getting Started with WebGoat and WebWolf using JAR. (54)

60. We are going to do the same thing for webwolf-8.0.0.M26.jar, copy the link address to this one below:

Getting Started with WebGoat and WebWolf using JAR. (55)

61. Now all we have to do is run our two web applications by default.

a. By default, webgoat listens on just localhost and we need our webgoat to listen on all interfaces:

a. Commands: java -jar webgoat-server-8.0.0.M26.jar — server.address=0.0.0.0

Getting Started with WebGoat and WebWolf using JAR. (56)

62. So, when that runs, what you are looking for, is this here:

Getting Started with WebGoat and WebWolf using JAR. (57)

63. Once you see the Started StartWebGoat, you can go to your internet browser on your HOST machine:

a. Type in your IP from your virtual machine’s second interface, then use 8080/WebGoat like the below screenshot:

Getting Started with WebGoat and WebWolf using JAR. (58)

64. Yay, now we have you web code instance running on your VM. We can do the same thing with WebWolf.

65. The way we can do that is opening up a second new cmd tab on your HOST machine and ssh into your virtual machine like before and run the same command:

a. Command java -jar webwolf-8.0.0.M26.jar — server.address=0.0.0.0

b. To access webwolf on your web browser, you need to use your IP address for the virtual machine, and the default web port which is 9090:

a. <localhost>:9090/WebWolf

66. So yay, congratulations you have both webgoat and webwolf up and running.

You MUST sign up on WebGoat to create your login and you can use the same login for WebWolf as well.

Here is the OWASP website that has really fun assignments you can try using webgoat and webwolf: https://owasp.org/www-project-webgoat/

Getting Started with WebGoat and WebWolf using JAR. (2024)

FAQs

Is it safe to use WebGoat? ›

2 WebGoat. The OWASP WebGoat project is a deliberately insecure web application that can be used to attack common application vulnerabilities in a safe environment.

What are the vulnerabilities of OWASP WebGoat? ›

WebGoat is a deliberately insecure web application created by OWASP for educational purposes. It consists of a series of lessons that demonstrate various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and authentication bypass.

What is a WebGoat container? ›

WebGoat is a deliberately insecure application that allows interested developers just like you to test vulnerabilities commonly found in Java-based applications that use common and popular open source components.

What is the default username and password for WebGoat? ›

Username “webgoat” with the password “webgoat” will be used in WebGoat application's basic authentication popup to login as admin of WebGoat application. Username “basic” with the password “basic” will be a normal user in WebGoat. Start tomcat5 and open the url http://localhost:8080/WebGoat/attack in the browser.

What is Google Gruyere? ›

About the Code

gruyere.py is the main Gruyere web server. data.py stores the default data in the database. There is an administrator account and two default users. gtl.py is the Gruyere template language. sanitize.py is the Gruyere module used for sanitizing HTML to protect the application from security holes.

What is mutillidae? ›

The Mutillidae are a family of more than 7,000 species of wasps whose wingless females resemble large, hairy ants. Their common name velvet ant refers to their resemblance to an ant, and their dense pile of hair, which most often is bright scarlet or orange, but may also be black, white, silver, or gold.

Which browser has most vulnerability? ›

A report suggests that Google Chrome is the most unsafe web browser in 2022. According to a report by Atlas VPN, the cross-platform browser apparently has more than 300 vulnerabilities. In comparison to Chrome, Mozilla Firefox has 117, Microsoft Edge has 103, Safari has 26 and basically none for Opera.

What are the cons of OWASP? ›

Disadvantages of OWASP Dependency-Check: Limited to known vulnerabilities: Dependency-Check can only identify vulnerabilities that are already known and listed in the NVD.

What is the most common password for OWASP? ›

“admin”, “password”, “12345”, or other common default passwords. An empty or blank password. The serial number or MAC address of the device.

What is the magic number in Webgoat? ›

Magic Number: Scroll to the bottom of the Network tab to the Form Data section and find the magic_num field (this field changes values every time you reload the form).

How to install NodeGoat? ›

How to Set Up Your Copy of NodeGoat
  1. Install Node.js - NodeGoat requires Node v8 or above.
  2. Go to the directory: cd NodeGoat.
  3. Install node packages: npm install.
  4. Populate MongoDB with the seed data required for the app: npm run db:seed.

How do I log into a website with a username and password? ›

Inputting credentials​
  1. Accept their cookies policy, then load the main page.
  2. Click on the Sign in button and load the sign-in page.
  3. Enter the username and click the button.
  4. Enter the password and click the button, then load the main page again (but now logged in).

What is the default password for Web GUI? ›

If you are logging in to the Web User Interface for the first time as an administrator following installation, specify Username admin and Password admin.

What is the default login for cisco Web? ›

Go to the URL https://192.168.1.1/webui/ and log in using the default credentials— webui/cisco.

Are web applications safe? ›

Web application vulnerabilities

Consequences include the unauthorized viewing of lists, deletion of tables and unauthorized administrative access. Cross-site Scripting (XSS) – XSS is an injection attack targeting users in order to access accounts, activate Trojans or modify page content.

Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6760

Rating: 4.4 / 5 (45 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.