Professional SQL Injection & Web Security Testing Toolkit
Features • Installation • Usage • Modules • Documentation
TheSQLI is a comprehensive web security testing toolkit developed by alzzmaret. It provides automated SQL injection detection, database enumeration, subdomain discovery, path brute-forcing, DNS lookup, and IP resolution tools — all wrapped in a professional blue-themed CLI interface.
⚠️ Disclaimer: This tool is for educational purposes and authorized security testing only. Use only on systems you own or have explicit permission to test.
| Feature | Description |
|---|---|
| 🔍 SQL Injection Scanner | Multi-level scanning (1-3) with 500+ payloads |
| 💾 Database Enumeration | Extract database names, tables, columns |
| 📤 Data Dumper | Export data to CSV/JSON format |
| 🌐 Subdomain Discovery | DNS + HTTP brute-force with wordlist |
| 📂 Path Brute-Forcer | Directory/file discovery (admin panel, config, etc.) |
| 🔎 Parameter Scanner | Detect GET/POST injection points |
| 🏠 URL to IP | Resolve domains to IPv4/IPv6 |
| 🔧 DNS Lookup | Query A, MX, TXT, NS, CNAME, SOA records |
- Python 3.8 or higher
- pip package manager
git clone https://github.com/alzzmaret/theSQLI.git
cd theSQLIpip install -r requirements.txtrequirements.txt:
requests>=2.28.0
rich>=13.0.0
pyfiglet>=0.8.post1
dnspython>=2.3.0
python main.pyYou should see the banner and interactive menu.
theSQLI/
├── main.py # Main entry point (CLI + Interactive)
├── core/ # Core modules
│ ├── detector.py # SQL injection detection
│ ├── enumerator.py # Database enumeration
│ ├── dumper.py # Data extraction & export
│ ├── param_scanner.py # Parameter discovery
│ ├── recon_subdomain.py # Subdomain brute-force
│ ├── recon_path.py # Directory/path brute-force
│ ├── urlip.py # URL to IP resolver
│ └── dns.py # DNS record lookup
├── lib/ # Utility libraries
│ ├── requester.py # HTTP request handler
│ ├── savers.py # CSV/JSON export
│ └── utils.py # Common utilities
├── wordlist/ # Payload & wordlist files
│ ├── common_sqli.txt # Basic SQLi payloads
│ ├── common_sqli2.txt # Medium SQLi payloads
│ ├── common_sqli3.txt # Advanced/WAF bypass payloads
│ ├── common_subdomain.txt # Subdomain wordlist
│ ├── path.txt # Directory/file wordlist
│ └── params.txt # Parameter wordlist
└── output/ # Dumped data storage
Simply run without arguments:
python main.pyNavigate using number keys (0-8) and follow prompts.
# SQL Injection Scan
python main.py -u "http://target.com/page.php?id=1" --scan --risk 3
# Enumerate Databases
python main.py -u "http://target.com/page.php?id=1" --dbs
# Search Parameters
python main.py -u "http://target.com/page.php" --params
# Subdomain Discovery
python main.py --subdomain target.com
# Path Brute-Forcing
python main.py --path https://target.com
# URL to IP
python main.py --url2ip google.com
# DNS Lookup
python main.py --dns google.com
python main.py --dns google.com --record MXDetects SQL injection with 3 risk levels:
| Level | Description | Payloads Used |
|---|---|---|
| 1 (Ringan) | Basic detection | common_sqli.txt (error-based) |
| 2 (Medium) | Extended testing | common_sqli2.txt (+time-based) |
| 3 (Berat) | Advanced bypass | common_sqli3.txt (+WAF bypass) |
Output: Vulnerable parameters, technique (error/union/boolean/time), DBMS type.
Lists all databases after detecting vulnerability.
Brute-forces common parameter names (id, page, q, cat, etc.).
Extracts table data and exports to output/{db}_{table}.csv and .json.
DNS + HTTP enumeration of subdomains. Supports common_subdomain.txt.
Directory brute-forcing with path.txt wordlist.
Resolves hostname to IPv4/IPv6 address.
Query DNS records: A, AAAA, MX, TXT, NS, CNAME, SOA.
Place custom wordlists in /wordlist/ directory:
common_sqli.txt- SQL injection payloadscommon_sqli2.txt- Medium payloadscommon_sqli3.txt- Advanced bypass payloadscommon_subdomain.txt- Subdomain namespath.txt- Directory/file pathsparams.txt- Parameter names
All dumped data is saved to /output/ folder (auto-created).
| Issue | Solution |
|---|---|
ModuleNotFoundError |
Run pip install -r requirements.txt |
No vulnerable parameter found |
Ensure URL has parameters (e.g., ?id=1) |
No databases found |
Target may have WAF; try risk level 3 |
Connection timeout |
Increase timeout in lib/requester.py |
Target: http://testphp.vulnweb.com/artists.php?artist=1
python main.py
# Interactive Menu:
# 1. Scan Vulnerability (Level: 3)
# Output: ✓ Vulnerable! id parameter (error-based, MySQL)
# 2. Enumerate Databases
# Output: acuart, information_schema, mysql
# 3. Dump Database
# Database: acuart
# Table: users
# Columns: uname, pass
# Output saved to output/acuart_users.csv- Only test systems you own or have written permission to test.
- Unauthorized access is illegal in most jurisdictions.
- The developer assumes no liability for misuse.
- Developer: alzzmaret
- Project: TheSQLI - ZAMZZZ SQL Injection Toolkit
MIT License - Use freely, modify responsibly.