✍️
Writeups and Walkthroughs
HomeGitHubPortfolio Twitter/X Medium Cont@ct
  • ✍️Writeups and Walkthroughs
  • THM
    • Simple CTF
    • RootMe
    • Eternal Blue
    • Vulnversity
    • Pickle Rick
    • Brooklyn Nine Nine
    • Kenobi
    • Bounty Hacker
    • Overpass
    • LazyAdmin
    • Ignite
    • Bolt
    • Agent Sudo
    • Anonymous
    • Startup
    • Wgel
    • Lian_Yu
    • Blog
    • ColdBox
    • H4cked
    • Smag Grotto
    • Ice
    • Blaster
    • The Sticker Shop
    • 🔟OWASP
      • 1️⃣Injection
    • Active Directory Basics
    • Attacktive Directory
    • Post-Exploitation Basics
  • HackTheBox
    • Active
    • Devel
    • Delivery
    • Analytics
    • Bashed
    • Valentine
    • Sau
    • Sunday
    • Cap
    • Bizness
    • Chemistry %
  • Vulnhub
    • Brainpain (BoF)
  • DockerLabs
    • Trust
    • Upload
    • Vacaciones
  • DVWA
    • Install and configure DVWA
    • Command Injection
    • CSRF
    • File Inclusion
    • SQL Injection
    • SQLi Blind
  • Mutillidae II
    • Install & configure OWASP Mutillidae II
    • SQLi
      • SQLi Login Bypass
      • Extracting Data
      • Finding Number of Columns
      • Pivoting with SQL injection
    • Command Injection
      • Extracting User Accounts
      • Web Shell
    • IDOR & File Inclusion
      • Edit Another User's Profile
      • Extracting User Accounts
      • Extracting User Accounts with Local File Inclusion
      • Web Shell with Remote File Inclusion (RFI)
    • XSS
      • XSS Reflected
      • XSS Stored
      • XSS DOM-Based
  • Secure Bank
    • Install & configure Secure Bank
    • -----
      • SQLi Login Bypass
      • Extracting Data
      • Finding Number of Columns
      • Pivoting with SQL injection
    • -----
      • Extracting User Accounts
      • Web Shell
  • PortSwigger - Web Security Academy
    • Burp Suite Config
    • Information Disclosure
      • Information disclosure vulnerabilities
      • Common sources of information disclosure
        • Information disclosure in error messages
        • Information disclosure on debug page
        • Source code disclosure via backup files
        • Authentication bypass via information disclosure
        • Information disclosure in version control history
    • Essential skills
      • Obfuscating attacks using encodings
        • SQL injection with filter bypass via XML encoding
      • Using Burp Scanner
      • Identifying unknown vulnerabilities
    • Server-side vulnerabilities
      • Path traversal
        • File path traversal, simple case
      • Access control
        • Unprotected admin functionality
        • Unprotected admin functionality with unpredictable URL
        • User role controlled by request parameter
        • User ID controlled by request parameter, with unpredictable user IDs
        • User ID controlled by request parameter with password disclosure
      • Authentication
        • Username enumeration via different responses
        • 2FA simple bypass
      • Server-side request forgery (SSRF)
        • Basic SSRF against the local server
        • Basic SSRF against another back-end system
      • File upload vulnerabilities
        • Remote code execution via web shell upload
        • Web shell upload via Content-Type restriction bypass
      • OS Command Injection
        • OS command injection, simple case
      • SQL injection
        • SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
        • SQL injection vulnerability allowing login bypass
    • JWT Attacks
      • Json Web Tokens (JWT)
      • Exploiting JWT
        • JWT authentication bypass via unverified signature
        • JWT authentication bypass via flawed signature verification
        • JWT authentication bypass via weak signing key
        • To-Do
          • JWT authentication bypass via jwk header injection - %
          • JWT authentication bypass via jku header injection - %
          • JWT authentication bypass via kid header path traversal - %
    • API Testing
      • API Testing
        • Exploiting an API endpoint using documentation
        • Finding and exploiting an unused API endpoint
        • Exploiting a mass assignment vulnerability
      • Server-side parameter pollution
        • Exploiting server-side parameter pollution in a query string
    • Deserialization Insecure
      • Serialization vs Deserialization
        • Lab
        • Lab
      • Java Insecure Deserialization
        • Lab
        • Lab
      • PHP Insecure Deserialization
        • Lab
        • Lab
  • HomeMade Labs
    • Active Directory
      • AD Lab Setup
      • AD Enumeration
      • SMB Common Attacks
    • Pivoting
      • Pivoting Theory
      • Pivoting Guidelines
      • Lab (3 Targets)
    • Buffer Overflow (BoF)
      • BoF Theory
      • Brainpain (BoF Lab)
Powered by GitBook
On this page
  • Installation Guides
  • Standard Installation - DockerHub
  • Alternative Installation - Docker
  • Alternative Installation - Google Cloud
  • Legacy Installation - LAMP Stack
  • Installation via Docker - My case
  • Install Docker
  • Install Docker Image
  • Website URL
  • Build/Reset DB
  • Populating the LDAP database
  • Using a script to test the web interface
  • TMI
  1. Mutillidae II

Install & configure OWASP Mutillidae II

https://github.com/digininja/DVWA

PreviousMutillidae IINextSQLi

Last updated 3 months ago

Installation Guides

Standard Installation - DockerHub

Alternative Installation - Docker

Alternative Installation - Google Cloud

Legacy Installation - LAMP Stack

Installation via Docker - My case

Install Docker

Install Docker Image

git clone https://github.com/webpwnized/mutillidae-docker.git

And build the docker file

cd mutillidae-docker
docker compose -f .build/docker-compose.yml up --build --detach

Website URL

The web application should be running at localhost, then we ca go there via browser

Note: The first time the webpage is accessed, a warning webpage will be displayed referencing the database cannot be found. This is the expected behaviour. Just use the link to "rebuild" the database and it will start working normally.

Build/Reset DB

  1. Be sure the username and password to MySQL is the same as configured in includes/database-config.inc

  2. Be aware that MySQL disables password authentication for root user upon installation or update in some systems. This may happen even for a minor update. Please check the username and password to MySQL is the same as configured in includes/database-config.inc

  3. Check the error message below for more hints

  4. If you think this message is a false-positive, you can opt-out of these warnings below

Alternatively, you can trigger the database build.

# Requesting Mutillidae database be built.
curl http://127.0.0.1/set-up-database.php;

Populating the LDAP database

The LDAP database is empty upon build. Add users to the LDAP database using the following command.

# Install LDAP Utilities including ldapadd
sudo apt-get update
sudo apt-get install -y ldap-utils

# Add users to the LDAP database
ldapadd -c -x -D "cn=admin,dc=mutillidae,dc=localhost" -w mutillidae -H ldap://localhost:389 -f .build/ldap/configuration/ldif/mutillidae.ldif

Using a script to test the web interface

You can test if the web site is responsive

# This should return the index.php home page content
curl http://127.0.0.1:8888/;

TMI

Running Services

Once the containers are running, the following services are available on localhost.

  • Port 80, 8080: Mutillidae HTTP web interface

  • Port 81: MySQL Admin HTTP web interface

  • Port 82: LDAP Admin web interface

  • Port 443: HTTPS web interface

  • Port 389: LDAP interface

If you have a LAMP stack set up already, you can skip directly to installing Mutillidae. Check out our for detailed instructions. Watch the video tutorial:

If you haven't it, install Docker on your machine (debian/kali):

to attempt to setup the database. Sometimes this works.

A to help reset MySQL root password

How to Run Mutillidae from DockerHub Images
How to Install Docker on Ubuntu
How to Run Mutillidae on Docker
How to Run Mutillidae from DockerHub Images
How to Run Mutillidae on Google Kubernetes Engine (GKE)
comprehensive installation guide
How to Install Mutillidae on LAMP Stack
How to Install Docker on Ubuntu
http://127.0.0.1/
Click here
video is available
OWASP Mutillidae II | OWASP Foundation
Logo
GitHub - webpwnized/mutillidae: OWASP Mutillidae II is a free, open-source, deliberately vulnerable web application providing a target for web-security training. Mutillidae can be installed on Linux and Windows using LAMP, WAMP, and XAMMP. It is pre-installed on SamuraiWTF and OWASP BWA. The existing version can be updated on these platforms. With dozens of vulnerabilities and hints to help the user; this is an easy-to-use web hacking environment designed for labs, security enthusiast, classrooms, CTF, and vulnerability assessment tool targets. Mutillidae has been used in graduate security courses, corporate web sec training courses, and as an "assess the assessor" target for vulnerability assessment software. A containerized version of the application is available as a companion project.GitHub
Logo
https://127.0.0.1/index.php?page=home.php