Penetration Testing of a Deliberately Vulnerable Web Application

Performed a penetration test against a deliberately vulnerable web application in a controlled lab environment using common reconnaissance and enumeration techniques. Identified an exposed FTP service with anonymous access, recovered publicly accessible credentials, discovered hidden directories and demonstrated how multiple security misconfigurations could lead to administrative access.

Disclaimer

This proof-of-concept was developed and tested exclusively in an isolated environment for educational and defensive cybersecurity purposes.

Overview

This project documents a complete penetration testing walkthrough performed against a deliberately vulnerable web application designed for security training. The objective was to identify weaknesses through reconnaissance, service enumeration and exploitation of common misconfigurations rather than using software vulnerabilities.

The assessment began by identifying open ports and running services with Nmap before investigating an anonymous FTP service that exposed sensitive files. Those files contained credentials which were then used during further enumeration to locate a hidden login page and successfully authenticate with administrative privileges.

The project demonstrates how small security oversights can combine into a complete compromise, while reinforcing the importance of secure configurations and proper access controls.

Skills Demonstrated

Tools Used

Process

Initial Reconnaissance

The assessment started by identifying the target's IP address before performing an Nmap scan to discover open ports and running services. This provided an overview of the exposed attack surface and identified an FTP service allowing anonymous access.

Service Enumeration

After discovering the FTP service, I connected using anonymous authentication to determine what information was publicly accessible. The server contained configuration files that exposed usernames and passwords, demonstrating how improper file permissions can unintentionally leak sensitive information.

Directory Enumeration

Using Gobuster, I performed directory enumeration to identify hidden pages that were not directly linked from the website. This revealed a login page that wasn't visible during normal browsing.

Authentication

Using the credentials recovered from the FTP server, I successfully authenticated to the hidden administrative portal and demonstrated how multiple configuration weaknesses could be chained together to obtain elevated access.

Security Observations

Rather than exploiting software vulnerabilities, this assessment highlighted several insecure configurations:

Code & Tool Breakdown

Nmap

Used to discover open ports, identify running services and gather operating system information before beginning further enumeration.

FTP

Used to investigate the exposed FTP service and securely retrieve publicly accessible files for analysis.

Gobuster

Performed directory enumeration using a wordlist to identify hidden resources that were not linked through the website.

What I Learned

This project taught me how penetration testing is much more about methodology than simply "finding an exploit." I learned the importance of reconnaissance, service enumeration and understanding how seemingly small configuration mistakes can combine into a complete security compromise.

It also helped me become much more comfortable using professional tools such as Nmap and Gobuster while improving my understanding of common services like FTP and how attackers and defenders approach exposed network services.

More importantly, it reinforced the value of secure configurations. None of the individual issues demonstrated in this project were particularly severe on their own, but together they created a clear path to administrative access. That lesson has influenced how I approach security in the software projects I've built since.