[](https://nanragav.github.io/SQLmap-GUI/)
A comprehensive, user-friendly graphical interface for SQLmap - the world's most powerful SQL injection testing tool. Built with Python and PyQt6 for professional penetration testers and security researchers.
- Complete SQLmap Integration: Access all SQLmap parameters through an intuitive GUI
- 🆕 Auto-Installation Scripts: One-click setup for Linux and Windows with automatic dependency management
- Modular Tab Interface: Organized tabs for different testing phases (Target, Injection, Enumeration, File System, OS Access, etc.)
- Real-time Validation: Built-in parameter validation with helpful error messages
- Batch Processing: Automated batch mode for efficient scanning
- Advanced Options: Support for tamper scripts, custom payloads, and advanced injection techniques
- Session Management: Save and load testing sessions
- Cross-platform: Works on Windows, Linux, and macOS
- Clean Interface: Only valid SQLmap parameters - no confusing non-existent options
- 🔒 Security-First: No administrator privileges required for normal operation
- Prerequisites
- Installation
- SQLmap Installation
- Quick Start
- Usage
- Documentation
- Project Structure
- Troubleshooting
- Contributing
- Security
- License
- Python: 3.8 or higher
- RAM: Minimum 2GB, recommended 4GB+
- Disk Space: 500MB free space
- Operating System: Windows 10+, Ubuntu 18.04+, macOS 10.14+
- SQLmap: Latest version installed and accessible via command line
- Git: For cloning the repository
- Python Virtual Environment: Recommended for dependency management
- Initial Setup Only:
sudo
access required for installing system packages- Python 3.8+ and development tools (
python3-dev
,python3-venv
) - Basic utilities (
git
,unzip
,wget
) - Distribution-specific package installation (
apt
,yum
,dnf
,pacman
)
- Python 3.8+ and development tools (
- Normal Operation: Runs as regular user with no elevated privileges
- Virtual Environment: Created in user space (no system modifications)
- No Administrator Rights Required: All installations go to user directories
- Python installed to
%USERPROFILE%\AppData\Local\Programs\Python
- SQLmap downloaded to application folder
- Virtual environment in
.venv
subfolder
- Python installed to
- Normal Operation: Standard user privileges sufficient
- System Changes: Only PATH modification (optional, user-level only)
- Scripts never require permanent elevation
- All installations are user-scoped and portable
- Virtual environments isolate dependencies
- SQLmap runs in portable mode (no system installation required)
🐧 Linux:
# One-click installer (recommended)
git clone https://github.com/nanragav/SQLmap-GUI.git
cd SQLmap-GUI
./install_linux.sh
# Or use the enhanced launcher directly
./start_gui.sh
🪟 Windows:
# Download the repository, then run:
install_windows.bat
# Or use the auto-launcher directly:
start_gui.bat
# Or PowerShell version:
start_gui.ps1
🔐 Administrator Requirements:
- Linux: Sudo access required only for installing system packages (Python, unzip, wget)
- Windows: No administrator rights needed (installs to user directory)
- Normal Operation: Both platforms run as regular user after initial setup
Download pre-built executables - No Python setup required!
-
Go to Releases
-
Download the appropriate file for your system:
Windows:
SQLmap-GUI-windows.zip
- Extract the zip file
- Run
SQLmap-GUI.exe
Linux:
SQLmap-GUI-linux.tar.gz
- Extract:
tar -xzf SQLmap-GUI-linux.tar.gz
- Make executable:
chmod +x SQLmap-GUI
- Run:
./SQLmap-GUI
macOS:
SQLmap-GUI-macos.zip
- Extract the zip file
- Run
SQLmap-GUI.app
- Note: Right-click and select "Open" the first time due to macOS security settings
-
Install SQLmap separately (if not already installed):
- See SQLmap Installation section below
Note: Pre-built binaries include all Python dependencies. You only need to install SQLmap separately.
If you want to run from source or contribute to development:
Using the Installer Script:
# Clone the repository
git clone https://github.com/nanragav/SQLmap-GUI.git
cd SQLmap-GUI
# Run the one-click installer
./install_linux.sh
Using the Enhanced Launcher:
# The enhanced launcher automatically handles all dependencies
./start_gui.sh
What Gets Installed Automatically:
- Python 3.8+ (if not present) - uses distribution package manager
- SQLmap (latest) - downloaded to
sqlmap-master/
folder - System Dependencies - unzip, wget, python3-dev, python3-venv
- Python Dependencies - PyQt6, psutil, requests in virtual environment
- Desktop Shortcuts -
.desktop
files for easy access
Administrator Requirements:
- Initial Setup:
sudo
access needed for installing system packages only - Normal Operation: Runs as regular user, no elevated privileges required
- Virtual Environment: Created in user space (
.venv/
folder)
Step 1: Install System Dependencies
# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip python3-venv python3-dev git unzip wget
# CentOS/RHEL/Fedora
sudo yum install python3 python3-pip git unzip wget # CentOS/RHEL
sudo dnf install python3 python3-pip git unzip wget # Fedora
# Arch Linux
sudo pacman -S python python-pip git unzip wget
Step 2: Clone and Setup Project
# Clone the repository
git clone https://github.com/nanragav/SQLmap-GUI.git
cd SQLmap-GUI
# Create virtual environment
python3 -m venv .venv
# Activate virtual environment
source .venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
Step 3: Make Scripts Executable
chmod +x start_gui.sh
chmod +x install_linux.sh
- Download Python 3.8+ from python.org
- During installation, check:
- ✅ "Add Python to PATH"
- ✅ "Install pip"
- ✅ "Install for all users" (recommended)
- Download Git from git-scm.com
- Install with default settings
# Open Command Prompt or PowerShell
git clone https://github.com/nanragav/SQLmap-GUI.git
cd sqlmap-gui
# Create virtual environment
python -m venv .venv
# Activate virtual environment
.venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
# Install Homebrew package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Add Homebrew to PATH (follow the instructions shown after installation)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# Install Python 3.8+ and Git
brew install python git
# Verify installations
python3 --version
git --version
# Clone the repository
git clone https://github.com/nanragav/SQLmap-GUI.git
cd sqlmap-gui
# Create virtual environment using Python 3
python3 -m venv .venv
# Activate virtual environment
source .venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
- Apple Silicon (M1/M2/M3): All dependencies are compatible with ARM64 architecture
- Security: You may need to allow the application in System Preferences > Security & Privacy
- Python Path: Use
python3
instead ofpython
on macOS to avoid conflicts with system Python 2.x - Permissions: If you encounter permission issues, avoid using
sudo
with pip. Use virtual environments instead
# Ubuntu/Debian
sudo apt update
sudo apt install sqlmap
# CentOS/RHEL
sudo yum install sqlmap
# Arch Linux
sudo pacman -S sqlmap
# Clone SQLmap repository
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
# Make it executable
cd sqlmap-dev
chmod +x sqlmap.py
# Test installation
./sqlmap.py --version
# Install SQLmap via pip
pip install sqlmap
# Test installation
sqlmap --version
# Clone SQLmap repository
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
# Test installation
cd sqlmap-dev
python sqlmap.py --version
Add SQLmap to your PATH (if installed manually):
# Add to ~/.bashrc or ~/.zshrc
echo 'export PATH="$PATH:/path/to/sqlmap-dev"' >> ~/.bashrc
source ~/.bashrc
- For pip installation: SQLmap should be automatically added to PATH
- For manual installation: Add the sqlmap directory to your PATH:
- Right-click "This PC" → Properties → Advanced system settings
- Click "Environment Variables"
- Under "System variables", find "Path" and click "Edit"
- Add:
C:\path\to\sqlmap-dev
- Click OK and restart Command Prompt
Test that SQLmap is properly installed:
sqlmap --version
# Should output: sqlmap version X.X.X
Linux:
git clone https://github.com/nanragav/SQLmap-GUI.git
cd SQLmap-GUI
./install_linux.sh # One-click installer
# or
./start_gui.sh # Enhanced auto-launcher
Windows:
# Download repository, then run:
install_windows.bat # One-click installer
# or
start_gui.bat # Auto-launcher
# or
start_gui.ps1 # PowerShell version
Linux:
cd SQLmap-GUI
source .venv/bin/activate
python main.py
Windows:
cd SQLmap-GUI
.venv\Scripts\activate
python main.py
Linux:
./start_gui.sh # Enhanced auto-setup launcher
Windows:
start_gui.bat # Batch file launcher
start_gui.ps1 # PowerShell launcher
- Start the GUI using one of the methods above
- Configure Target:
- Go to "Target" tab
- Enter target URL:
http://example.com/page.php?id=1
- Set Options:
- Choose injection techniques in "Techniques" tab
- Configure detection level in "Detection" tab
- Select enumeration options in "Enumeration" tab
- Execute Scan:
- Review command in the preview panel
- Click "Start Scan"
- Monitor progress in the output panel
- Save your common configurations as profiles
- Load profiles for different types of assessments
- Share profiles with team members
- Use the batch mode for automated scanning
- Configure multiple targets
- Schedule scans for off-hours
Comprehensive documentation is available at our GitHub Pages site:
The documentation includes:
- Complete User Manual: Step-by-step guide for all GUI features
- Tab-by-Tab Documentation: Detailed explanation of all 15 tabs and their options
- Practical Examples: Real-world SQL injection testing scenarios
- Advanced Techniques: Complex exploitation methods and WAF bypass
- Troubleshooting Guide: Solutions for common issues and problems
- API Reference: Developer documentation for extending the GUI
- Installation Guide: Platform-specific setup instructions
- Quick Start Guide: Get up and running in 5 minutes
- Configuration Guide: Advanced settings and customization
- Examples Directory: Practical usage scenarios and tutorials
- API Documentation: For developers extending the GUI
- Release Guide: How to create and distribute binary releases (RELEASES.md)
- Build Guide: Building from source for all platforms (BUILDING.md)
- Visit the documentation site
- Start with the Quick Start Guide
- Explore the User Manual
- Check out Practical Examples
sqlmap-gui/
├── src/
│ ├── main.py # Application entry point
│ ├── gui/
│ │ ├── main_window.py # Main application window
│ │ ├── tabs/ # GUI tabs
│ │ │ ├── target_tab.py
│ │ │ ├── injection_tab.py
│ │ │ ├── enumeration_tab.py
│ │ │ └── ...
│ │ └── widgets/
│ │ └── custom_widgets.py
│ ├── core/
│ │ └── sqlmap_wrapper.py # SQLmap integration
│ └── utils/
│ └── config.py # Configuration management
├── requirements.txt # Python dependencies
├── start_gui.sh # Linux startup script
├── run_gui.sh # Alternative Linux startup
├── README.md # This file
└── SQLmap_GUI_Plan.md # Development documentation
Solution:
# Linux
source .venv/bin/activate
pip install PyQt6
# Windows
.venv\Scripts\activate
pip install PyQt6
Solution: Ensure SQLmap is installed and in PATH
# Check if SQLmap is installed
which sqlmap # Linux
where sqlmap # Windows
# If not found, reinstall SQLmap
Linux:
chmod +x start_gui.sh
chmod +x run_gui.sh
Solution: Install Microsoft Visual C++ Redistributable
- Download from: https://aka.ms/vs/17/release/vc_redist.x64.exe
Solution:
- Close other applications
- Use batch mode for large scans
- Monitor resource usage in the GUI
Enable debug logging:
# Linux
export SQLMAP_GUI_DEBUG=1
python src/main.py
# Windows
set SQLMAP_GUI_DEBUG=1
python src\main.py
- Check the Issues page
- Review the SQLmap documentation
- Join security communities for SQL injection discussions
We welcome contributions! Here's how to get started:
- Fork the repository
- Clone your fork:
git clone https://github.com/nanragav/SQLmap-GUI.git
- Create a feature branch:
git checkout -b feature-name
- Make your changes following the existing code style
- Test thoroughly on both Linux and Windows
- Commit your changes:
git commit -m "Add feature description"
- Push to your fork:
git push origin feature-name
- Create a Pull Request
- Follow PEP 8 style guidelines
- Add docstrings to new functions
- Test on multiple platforms (Linux, Windows)
- Update documentation for new features
- Ensure backward compatibility
- Authorized Use Only: Only test systems you own or have explicit permission to test
- Legal Compliance: Ensure compliance with local laws and regulations
- Responsible Disclosure: Report vulnerabilities through proper channels
- Data Protection: Be aware that SQLmap can extract sensitive data
- Use appropriate risk levels: Start with low risk (1) and increase gradually
- Monitor resource usage: SQLmap can be resource-intensive
- Backup target systems: Some operations may modify data
- Use in controlled environments: Test in isolated environments first
- Keep software updated: Regularly update SQLmap and this GUI
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is designed for educational and authorized security testing purposes only. The developers assume no liability for misuse of this software. Users are responsible for:
- Obtaining proper authorization before testing any system
- Complying with applicable laws and regulations
- Using the tool ethically and responsibly
- Understanding the potential impact of SQL injection testing
By using this software, you agree to use it responsibly and only on systems you are authorized to test.
- SQLmap - The core SQL injection testing engine
- PyQt6 - Modern GUI framework
- The security research community for their contributions
- Online Documentation: GitHub Pages
- Technical Details: See SQLmap_GUI_Plan.md for technical details
- Email: sriragavendrabharath@outlook.com
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Join community discussions
- SQLmap Official: sqlmap.org
- Security Communities: OWASP, Bug Bounty forums
- Documentation Issues: Report documentation problems via GitHub
Made with ❤️ for the security community
SQLmap-GUI v1.0.0 - Professional SQL Injection Testing Interface