A modern, feature-rich web interface for SQLMap - the powerful SQL injection and database takeover tool.
Features β’ Installation β’ Quick Start β’ Screenshots β’ Documentation
- Beautiful Next.js WebUI with Shadcn UI components
- Dark/Light Theme Support with system preference detection
- Responsive Design - works on desktop, tablet, and mobile
- Real-time Updates - live scan status and progress monitoring
- Smooth Animations powered by Framer Motion
- β‘ Fast Scanning - Multi-threaded SQL injection testing
- π Real-time Monitoring - Live scan logs and status updates
- ποΈ Database Explorer - Interactive tree view with pagination
- πΎ Export Data - Download entire databases as ZIP (JSON + CSV)
- π Persistent History - SQLite-powered scan history
- π Batch Scanning - Test multiple URLs simultaneously
- π‘οΈ WAF Detection - Automatic detection and bypass suggestions
- Level & Risk Configuration (1-5 levels, 1-3 risk)
- DBMS Targeting (MySQL, PostgreSQL, MSSQL, Oracle, SQLite)
- Custom Techniques (BEUSTQ injection methods)
- Tamper Scripts with auto-tamper mode
- Threading Control (1-10 concurrent threads)
- OS Shell Access for compromised systems
- Database Enumeration - List all databases
- Table Enumeration - Discover table structures
- Column Enumeration - Map table schemas
- Full Database Dumps - Extract complete data
- ZIP Export - Download databases with JSON & CSV formats
- Interactive Explorer - Browse and search extracted data
- Dashboard Statistics - Total scans, active scans, vulnerability rate
- Progress Tracking - Real-time progress indicators
- Log Viewer - Color-coded log levels with filtering
- Scan History - Complete audit trail of all scans
- Vulnerability Reports - Detailed injection point analysis
Before you begin, ensure you have the following installed:
- Bun >= 1.0 - Fast JavaScript runtime
- Python >= 3.10 - Required for SQLMap
- Git - For cloning the repository
- Windows - PowerShell scripts included (Linux/Mac compatible with minor modifications)
git clone https://github.com/syrex1013/sqlgui.git
cd sqlgui# Install backend dependencies
cd backend && bun install && cd ..
# Install frontend dependencies (optional - for Vite UI)
cd frontend && bun install && cd ..
# Install WebUI dependencies (recommended)
cd webui && bun install && cd ..SQLMap is included in the sqlmapproject-sqlmap-* directory. No additional setup required!
bun run webuiAccess at: http://localhost:8080
This command automatically:
- β Kills any processes on ports 3000, 8080, and 8776
- β Starts the Express backend API (port 3000)
- β Starts the SQLMap API server (port 8776)
- β Launches the Next.js WebUI (port 8080)
bun run all
# or
bun run devAccess at: http://localhost:5173
# Backend only
bun run backend
# Frontend only (Vite)
bun run frontend- Navigate to the Dashboard tab
- Enter your target URL (e.g.,
http://testphp.vulnweb.com/artists.php?artist=1) - (Optional) Configure advanced options:
- Level (1-5): Test depth and thoroughness
- Risk (1-3): Payload risk level
- Threads: Number of concurrent requests
- DBMS: Target database type
- Tamper Scripts: WAF bypass techniques
- Click "Start Scan"
- View real-time progress in the Active Scans section
- See live logs as they're generated
- Stop scans with the Stop button
- Click Details for comprehensive scan information
- Go to the "Dumped DBs" tab
- Browse the database tree structure
- Click on any table to view data with pagination
- Use the "Download as ZIP" button to export entire databases
Each database can be exported as a ZIP file containing:
- README.txt - Database metadata and table list
- {table}.json - Complete table data in JSON format
- {table}.csv - Table data in CSV format
Perfect for offline analysis, reporting, or archiving!
sqlgui/
βββ π backend/ # Express API Server (Port 3000)
β βββ index.ts # Main server + SQLMap API spawner
β βββ logger.ts # Winston logger configuration
β βββ db.ts # SQLite database operations
β βββ sqlgui.sqlite # Scan history database
β βββ logs/ # Application logs (auto-rotating)
β
βββ π frontend/ # React + Vite UI (Port 5173)
β βββ src/
β β βββ App.tsx
β β βββ components/
β β βββ lib/
β βββ vite.config.ts
β
βββ π webui/ # Next.js WebUI (Port 8080) β
β βββ src/
β β βββ app/
β β β βββ layout.tsx # Root layout with theme
β β β βββ page.tsx # Home page
β β βββ components/
β β β βββ sqlmap-gui.tsx # Main UI component
β β β βββ navbar.tsx # Sticky navigation
β β β βββ footer.tsx # App footer
β β β βββ ui/ # Shadcn UI components
β β βββ lib/
β β βββ api.ts # Backend API client
β βββ next.config.ts
β
βββ π sqlmapproject-sqlmap-*/ # SQLMap Installation
β βββ sqlmapapi.py # SQLMap REST API
β
βββ π package.json # Root package.json with scripts
βββ π run-all.ps1 # PowerShell: Backend + Frontend
βββ π run-webui.ps1 # PowerShell: Backend + WebUI
βββ π cleanup-ports.ps1 # Port cleanup utility
# Build WebUI
bun run build:webui
# Start production server
cd webui && bun run start# WebUI (with hot reload)
cd webui && bun run dev
# Frontend (with hot reload)
cd frontend && bun run dev# Set log level
$env:LOG_LEVEL="debug" # Options: error, warn, info, debug
bun run webuiThe application uses Winston for professional logging:
- Location:
backend/logs/ - Files:
combined.log- All log levelserror.log- Errors only
- Features:
- Automatic log rotation (5MB per file, 5 files retained)
- JSON format for parsing
- Colored console output
- Timestamps on all entries
| Endpoint | Method | Description |
|---|---|---|
/api/task/new |
POST | Create new SQLMap task |
/api/scan/start/:taskId |
POST | Start a scan |
/api/scan/status/:taskId |
GET | Get scan status |
/api/scan/data/:taskId |
GET | Get scan data |
/api/scan/log/:taskId |
GET | Get scan logs |
/api/history |
GET | Get scan history |
/api/history/clear |
DELETE | Clear all history |
/api/export |
GET | Export dumps |
Solution: Scripts automatically clean ports before starting!
Manual cleanup:
Get-NetTCPConnection -LocalPort 3000,5173,8080,8776 | ForEach-Object {
Stop-Process -Id $_.OwningProcess -Force
}Solution 1: Run PowerShell as Administrator
# Right-click PowerShell β "Run as Administrator"
bun run webuiSolution 2: Allow Python through Windows Firewall
- Open Windows Defender Firewall
- Click "Allow an app through firewall"
- Add Python to allowed apps
- Enable both Private and Public networks
Solution 3: Check Python Installation
python --version # Should be 3.10+# View error logs
cat backend/logs/error.log
# View all logs
cat backend/logs/combined.log- β Always get written permission before testing
- β Only test systems you own or have explicit authorization to test
- β Use responsibly and ethically
- β Unauthorized use is illegal and unethical
The developers of this tool are not responsible for any misuse or damage caused by this program. This tool is provided for educational and authorized security testing purposes only.
| Command | Description |
|---|---|
bun run webui |
Start backend + WebUI (Port 8080) - Recommended |
bun run all |
Start backend + Frontend (Port 5173) |
bun run dev |
Same as all |
bun run backend |
Start backend API only (Port 3000) |
bun run frontend |
Start Vite frontend only (Port 5173) |
bun run build:webui |
Build WebUI for production |
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Ensure compatibility with both frontend and webui
- Update documentation for new features
- Test port cleanup functionality
- Follow existing code style (TypeScript + ESLint)
- Add tests where applicable
- SQLMap Project - The powerful SQL injection tool
- Shadcn UI - Beautiful UI components
- Next.js - React framework
- Bun - Fast JavaScript runtime
- Winston - Professional logging
This project is licensed under the MIT License - see the LICENSE file for details.
For educational and authorized security testing purposes only.
Author: syrex1013
- GitHub: @syrex1013
- Project Link: https://github.com/syrex1013/sqlgui
If you found this project helpful, please give it a β star on GitHub!
Made with β€οΈ for security researchers
