Prerequisites
Before installing the Auth Security Demo, ensure your system meets these requirements:System Requirements
System Requirements
- Operating System: Linux, macOS, or Windows with WSL2
- Python: Version 3.11 or higher (3.13 recommended)
- RAM: Minimum 2GB available
- Disk Space: At least 500MB free
Software Prerequisites
Software Prerequisites
- Python 3.11+ with pip
- Git (for cloning the repository)
- A modern web browser (Chrome, Firefox, Safari, or Edge)
- Terminal/Command line access
Verify Python Installation
Installation Process
Set up the vulnerable application
Install dependencies for the vulnerable version:The vulnerable app requires these packages:
- Flask 3.0.0 - Web framework
- python-dotenv 1.0.0 - Environment variable management
- gunicorn 21.2.0 - WSGI HTTP server
Initialize the vulnerable database
Create and populate the database:Expected output:This creates
users.db with two test accounts:- admin / admin123 (admin role)
- usuario / password123 (user role)
Set up the secure application
Navigate to the secure directory and install dependencies:The secure app requires additional security packages:
- Flask 3.0.0 - Web framework
- Werkzeug 3.0.0 - Password hashing utilities
- Flask-WTF 1.2.1 - CSRF protection
- python-dotenv 1.0.0 - Environment configuration
- gunicorn 21.2.0 - Production server
Verify Installation
- Quick Test
- Database Check
- Port Availability
Test that both applications can start:
Project Structure
After installation, your directory structure should look like this:Dependency Reference
Troubleshooting Installation
pip install fails with permissions error
pip install fails with permissions error
Use the Or use a virtual environment (recommended):
--user flag to install packages without root access:Python version too old
Python version too old
If you have Python 3.10 or older, install Python 3.13:Ubuntu/Debian:macOS (Homebrew):Windows:
Download from python.org
Database creation fails
Database creation fails
Ensure you have write permissions in the directory:Delete existing databases and recreate:
Package conflicts or version errors
Package conflicts or version errors
Create a clean virtual environment:
Next Steps
Running the Demos
Learn how to start both vulnerable and secure applications
Testing Vulnerabilities
Explore and test the security vulnerabilities