Professional PyQt6 graphical interface for sqlmap
Project description
Developer: RootX | Telegram: @rootx.202 | GitHub: Rootx202/SQLMap-GUI
A professional, feature-rich graphical user interface built with PyQt6 for sqlmap — the world's most popular open-source SQL injection detection and exploitation tool. Designed for penetration testers and security researchers who prefer a visual workflow over command-line operations.
✨ Features
| Feature | Description |
|---|---|
| 🎯 6 Organized Tabs | Target, Request, Injection, Enumeration, OS Access, General |
| ⚡ Full sqlmap Support | Every command-line argument exposed through an intuitive GUI |
| 📝 Live Command Preview | See the generated sqlmap command in real-time before execution |
| 📊 Real-time Output | View scan results as they stream in from the background process |
| 📱 Responsive Layout | Adapts perfectly to any screen size — from laptops to ultrawide monitors |
| 📚 Built-in Help | Searchable, comprehensive documentation for every option |
| 🌙 Dark Theme | Modern, eye-friendly dark UI with teal accents |
| 🔍 Smart Search | Find any command instantly in the help dialog |
| 🧩 Modular Architecture | Clean, maintainable codebase split into logical modules |
| 🚀 One-click Execution | Generate, preview, and run sqlmap commands with a single click |
📋 Requirements
| Dependency | Version | Purpose |
|---|---|---|
| Python | 3.10+ | Runtime environment |
| PyQt6 | Latest | GUI framework |
| sqlmap | Latest | SQL injection engine (must be in PATH) |
🚀 Installation
Quick Install (via PyPI)
pip install sqlmap-pro-gui
sqlmap-gui
Manual Install (from source)
# 1. Clone the repository
git clone https://github.com/Rootx202/SQLMap-GUI.git
cd SQLMap-GUI
# 2. Create virtual environment (recommended)
python3 -m venv venv
# 3. Activate the environment
source venv/bin/activate # Linux / macOS
# or: venv\Scripts\activate # Windows
# 4. Install the package
pip install .
# 5. Run the application
sqlmap-gui
Note: Ensure
sqlmapis installed and accessible from your terminal before running the GUI (apt install sqlmapon Debian/Kali or download from sqlmap.org).
🎮 Usage Guide
Quick Start
| Step | Action | Tab |
|---|---|---|
| 1 | Enter your target URL (e.g., http://site.com/page.php?id=1) |
Target |
| 2 | Add cookies, headers, or proxy if needed | Request |
| 3 | Configure detection level, risk, and techniques | Injection |
| 4 | Choose what data to extract (banner, dbs, tables, etc.) | Enumeration |
| 5 | Enable OS shell or file operations if desired | OS Access |
| 6 | Set batch mode or verbosity level | General |
| 7 | Click Generate Command to preview | — |
| 8 | Click Run sqlmap to start the scan | — |
Tips
- 💡 Use Generate Command first to verify your configuration before running
- 🔍 Press
Ctrl+Fin the Help dialog to search for any command - ⚠️ Higher
--leveland--riskvalues mean more thorough (but slower) scans - 🛡️ Enable Tamper Scripts in the Injection tab to bypass WAF/IDS filters
📁 Project Structure
SQLMap-GUI/
│
├── main.py # Application entry point
├── main_window.py # Main window with tabs, toolbar, menus
│
├── core/
│ └── worker.py # Background QThread for sqlmap execution
│
├── resources/
│ ├── style.py # Dark theme QSS stylesheet
│ └── help_content.py # Structured help documentation data
│
├── widgets/
│ ├── base_tab.py # Base scrollable tab widget
│ ├── target_tab.py # Target configuration (URL, dork, method)
│ ├── request_tab.py # HTTP request headers & authentication
│ ├── injection_tab.py # DBMS, techniques, tamper scripts
│ ├── enumeration_tab.py # Data extraction options
│ ├── os_tab.py # OS shell & file system access
│ ├── general_tab.py # Session, output & performance settings
│ ├── command_preview.py # Command preview & execution controls
│ ├── output_panel.py # Scan output display panel
│ └── help_dialog.py # Searchable help & documentation dialog
│
├── .gitignore
├── README.md
└── requirements.txt
🖼️ Screenshots
Coming soon — screenshots will be added in a future update.
🛠️ Architecture
The application follows a clean modular architecture:
core/— Business logic layer (worker thread for non-blocking sqlmap execution)resources/— Static assets (stylesheets, documentation data)widgets/— UI components (each tab and panel is an independent, reusable widget)main_window.py— Orchestrator that wires everything together (tabs, toolbar, menus, splitter)
All tab widgets inherit from BaseTab, which provides automatic scroll functionality for small screens, ensuring a consistent and responsive experience across all tabs.
🤝 Contributing
Contributions are welcome! If you have ideas for improvements or find any issues:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
⚠️ Disclaimer
This tool is intended for authorized security testing and educational purposes only. The developer assumes no responsibility for any misuse or damage caused by this program. Always ensure you have explicit permission before testing any system.
Developed with ❤️ by RootX
For authorized security testing only. Use responsibly.
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 sqlmap_pro_gui-2.0.0.tar.gz.
File metadata
- Download URL: sqlmap_pro_gui-2.0.0.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f212983596343b0bed80a64f587f57646022fcd6a37d03b9e6003354140b5d4
|
|
| MD5 |
aba986238649bd362ff758f2ad314cda
|
|
| BLAKE2b-256 |
ed4d110b0cab323d32f545f233f343eda8ca0b983e58941b57f6790c366d16fa
|
Provenance
The following attestation bundles were made for sqlmap_pro_gui-2.0.0.tar.gz:
Publisher:
publish.yml on Rootx202/SQLMap-GUI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sqlmap_pro_gui-2.0.0.tar.gz -
Subject digest:
9f212983596343b0bed80a64f587f57646022fcd6a37d03b9e6003354140b5d4 - Sigstore transparency entry: 1856026905
- Sigstore integration time:
-
Permalink:
Rootx202/SQLMap-GUI@14c647452b4c46bba16ac10295d894daf075c535 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Rootx202
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@14c647452b4c46bba16ac10295d894daf075c535 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sqlmap_pro_gui-2.0.0-py3-none-any.whl.
File metadata
- Download URL: sqlmap_pro_gui-2.0.0-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e3300e7fed0dee317d19c1bc2d4e0ee4ecee17199fe0103216685069ec54c9c
|
|
| MD5 |
9bc916fbe560c35b133b75595884a1f3
|
|
| BLAKE2b-256 |
082ea91aa43b76ffe17dbc34031ee5ad37dbc797c100381e8bf4d6406f695470
|
Provenance
The following attestation bundles were made for sqlmap_pro_gui-2.0.0-py3-none-any.whl:
Publisher:
publish.yml on Rootx202/SQLMap-GUI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sqlmap_pro_gui-2.0.0-py3-none-any.whl -
Subject digest:
8e3300e7fed0dee317d19c1bc2d4e0ee4ecee17199fe0103216685069ec54c9c - Sigstore transparency entry: 1856026980
- Sigstore integration time:
-
Permalink:
Rootx202/SQLMap-GUI@14c647452b4c46bba16ac10295d894daf075c535 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Rootx202
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@14c647452b4c46bba16ac10295d894daf075c535 -
Trigger Event:
push
-
Statement type: