PortSwigger Lab Automation Tool
Project description
Burplabs
burplabs is a modular, Python-based CLI tool that automates solving labs from PortSwigger Web Security Academy.
Its like like netexec, but made for web apps.
Basically, this is a python package named 'burplabs' which is an PortSwigger's Web Security Academy labs soluction in the form of python script. Each script includes the lab's name, proxy settings, and step-by-step solution, as well as any additional notes.
It currently has 148/230 labs (excluding expert labs) and I am adding rest of the labs daily.
This not something new but this helped me to get better with Python Scripting and I adjusted many other things. I recommend to try this when you know how lab is solved and just want to solve it. Please do not use this before understanding the concepts.
Features
- CLI interface
- Modular architecture – each lab is a standalone Python file
- Custom Proxy and No Proxy also support (
--proxy,--no-proxy) - Docker-compatible
- Easily extensible - add your own code if you want!
Installation
Option 1: Install via pip (recommended)
Windows
python -m venv burplabs-venv
.\burplabs-venv\scripts\Activate.ps1
pip install burplabs
Option 2: Git clone
git clone https://github.com/spbavarva/portswigger-labs-scripts.git
cd portswiggerlab
pip install .
(Docker will be added soon)
Usage
View Help
burplabs -h
List All Available Labs
burplabs --list-labs
Interactive Mode
burplabs --interactive
and then just follow the steps. You can even enter custom proxy when it prompts or if you want to use burp proxy then just open burp and hit 'Y' when it prompts for default proxy to get requests on your burp.
Or you can hit 'n' when it prompts and you don't need to open burp at all.
Adding New Labs
To add a new lab:
- Create a new file in
burplabs/labs/name-of-the-folder, e.g.sql_lab3.py - It must define a
run(url, payload, proxies=None)function - That’s it! The lab will be auto-detected and usable like:
portswiggerlab sql_lab3 --url ... --payload ...
Author and Support
Credit to Rana Khalil for inspiring me for this!
Built by Sneh aka mystic_mido Portfolio: snehbavarva.com If you like it, give it a ⭐ on GitHub! That will really helps a lot to motivate me and show the significance of this small project. Thank you!
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file burplabs-0.2.4.tar.gz.
File metadata
- Download URL: burplabs-0.2.4.tar.gz
- Upload date:
- Size: 56.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a016522d84df7448e2ae29f5819ed49b2b96cd41d4c9d688129197e51cf2890
|
|
| MD5 |
a57c5ca9248bb2b87b67c3b68d11e6f1
|
|
| BLAKE2b-256 |
3d3ae2592cf94ce083a2bd13f0e90a73c36995878af46af406bf389faf3fcbdb
|
File details
Details for the file burplabs-0.2.4-py3-none-any.whl.
File metadata
- Download URL: burplabs-0.2.4-py3-none-any.whl
- Upload date:
- Size: 157.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c63dbdda8a1ef70c002d60b934826162e2fa23be185bad0b42a926510f110d51
|
|
| MD5 |
4250892976ed8d9e50368167d93efe67
|
|
| BLAKE2b-256 |
433d3eb4e5581ebf864a99d7d0b87f32d0a34962c44c435c4721bdc2972e6ac3
|