This project demonstrates a controlled authentication testing lab built with Python and Flask. A local web application simulates a login page, while a separate Python script automates login attempts using username and password wordlists.
The objective is to demonstrate how repeated login attempts can identify weak credentials in a controlled environment and to reinforce defensive security concepts such as strong passwords, account lockout, and rate limiting.
- Build a local Flask authentication system
- Develop an automated authentication testing script
- Understand HTTP POST requests
- Demonstrate password guessing using wordlists
- Practice Python scripting
- Learn secure authentication concepts
- Python 3.13
- Flask
- Requests
- Virtual Environments (venv)
- Visual Studio Code
- Git
- GitHub
python-flask-bruteforce-lab/
│
├── Screenshots/
├── attack.py
├── flaskapp.py
├── usernames.txt
├── testpwlist.txt
├── requirements.txt
├── .gitignore
└── README.md
git clone https://github.com/melusisello/python-flask-bruteforce-lab.gitpython -m venv venvWindows
.\venv\Scripts\Activate.ps1pip install -r requirements.txtpython flaskapp.pyOpen:
http://localhost:34224
Open a second terminal:
python attack.py- Python Programming
- Flask Web Development
- HTTP POST Requests
- Authentication Testing
- Wordlist Automation
- Python Virtual Environments
- Git & GitHub
- Technical Documentation
This project was developed and executed entirely within a local, controlled environment for educational purposes. It demonstrates authentication testing concepts against a self-hosted application to better understand password security and defensive best practices. It is not intended for use against systems without explicit authorization.



