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.