Skip to content

About

A hands-on Web Vulnerability Assessment and Penetration Testing lab using Burp Suite, OWASP ZAP, and Flask security remediation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Web Application Vulnerability Assessment and Security Remediation Lab

A comprehensive penetration testing and dynamic vulnerability assessment lab focused on identifying, exploiting, and mitigating critical security flaws within a Python Flask web application.

This project demonstrates an end to end security audit workflow, from initial threat analysis and dynamic vulnerability discovery to secure coding implementation and post remediation validation.

Project Objectives

  1. Vulnerable Application Simulation Design and deploy a target web application containing intentional security flaws based on the OWASP Top 10.

  2. Dynamic Application Security Testing (DAST) Perform vulnerability scanning and manual payload injection in an isolated Kali Linux environment.

  3. Exploitation and Risk Evaluation Assess the impact of discovered vulnerabilities such as authentication bypass, script execution, and sensitive data exposure.

  4. Security Hardening and Remediation Re-engineer the backend to eliminate vulnerabilities using secure coding standards and modern security controls.

Security Tools and Stack

Backend and App Stack: Python 3, Flask, SQLite3, WTForms, Jinja2 Testing Environment: Kali Linux, FoxyProxy DAST and Interception: Burp Suite Community Edition, OWASP ZAP Exploitation Tools: sqlmap, Nikto Web Scanner Security Controls: Parameterized Queries, Werkzeug Hashing, HTTP Security Headers

Vulnerability Matrix and Remediation Summary

Vulnerability: SQL Injection (SQLi) Initial Risk: Critical Threat Impact: Database extraction and authentication bypass Mitigation Applied: Replaced raw SQL queries with Prepared Statements and Parameterized Queries. Status: Resolved

Vulnerability: Cross Site Scripting (XSS) Initial Risk: High Threat Impact: Session hijacking and malicious script injection Mitigation Applied: Implemented input sanitization via WTForms and auto escaping in Jinja2 templates. Status: Resolved

Vulnerability: Broken Authentication Initial Risk: High Threat Impact: Credential stuffing and unauthorized access Mitigation Applied: Implemented Werkzeug password hashing, enforced strong password policies, and improved session handling. Status: Resolved

Vulnerability: Missing Security Headers Initial Risk: Medium Threat Impact: Clickjacking, MIME sniffing, and downgrade attacks Mitigation Applied: Configured HTTP response headers including X-Frame-Options DENY, X-Content-Type-Options nosniff, and HSTS. Status: Resolved

Security Audit Workflow

  1. Assessment and Discovery Phase Automated Scanning: Executed full surface scans using OWASP ZAP and Nikto to map endpoints and flag missing HTTP security headers. Manual Interception: Utilized Burp Suite Proxy to intercept and modify HTTP requests, testing input validation on login and file upload forms. Automated Exploitation: Used sqlmap to confirm parameter based SQL injection vulnerabilities in authentication routes.

  2. Remediation and Hardening Phase Database Abstraction: Refactored database logic to enforce strict parameterized queries, neutralizing payload execution. Input and Output Hygiene: Integrated strict server side validation rules for user input and context aware output encoding. Session and Header Security: Configured explicit security response headers to enforce HTTPS and protect against client side browser attacks.

Documentation

A full step by step Penetration Testing and Vulnerability Assessment Report is available in the repository. It contains complete evidence, step-by-step tool workflows (Burp Suite, OWASP ZAP, sqlmap, Nikto), attack Proofs of Concept (PoCs), and code remediation diffs.

View the full report: Web_Vulnerability_Assessment_Report.pdf

Repository Structure

vulnerable_app: Baseline application containing intentional security vulnerabilities secure_app: Hardened application codebase with full security mitigations docs: Detailed Penetration Testing and Vulnerability Report PDF .gitignore: Configured to exclude temporary build and cache files README.md: Project documentation

Installation and Local Setup

  1. Clone the Repository git clone https://github.com/ghida-a/Web-app-vulnerability-assessment.git cd Web-app-vulnerability-assessment

  2. Create and Activate a Virtual Environment python -m venv venv On Linux or macOS: source venv/bin/activate On Windows: venv\Scripts\activate

  3. Install Dependencies pip install -r requirements.txt

  4. Launch the Secure Application python app2.py Access the web interface at http://127.0.0.1:5000

Documentation

A full step by step Penetration Testing and Remediation Report is available in the docs folder, detailing scan outputs, exploit proofs of concept, and code diffs.

Author

Ghida Alnahar Cybersecurity Specialist / Student

About

A hands-on Web Vulnerability Assessment and Penetration Testing lab using Burp Suite, OWASP ZAP, and Flask security remediation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages