SQLister is a professional, automated SQL injection testing tool designed for security researchers and penetration testers. It automates the process of detecting and exploiting SQL injection flaws with industry-standard accuracy.
-
Comprehensive Detection Engine:
- Boolean-based blind: Advanced content comparison to detect true/false conditions.
- Error-based: Regex matching against common DBMS error messages (MySQL, PostgreSQL, MSSQL, Oracle, Access).
- Union query-based: Heuristic checks for result reflection and column enumeration.
- Time-based blind: Latency measurement to detect sleep/delay injections.
-
Advanced Exploitation:
- Custom Payloads: Load your own wordlists for targeted attacks.
- Tamper Scripts: Bypass WAFs and filters with built-in obfuscation (e.g.,
randomcase,space2comment,urlencode).
-
Production Ready:
- Automated Reporting: Generates fine-tuned HTML reports detailing every vulnerability.
- Robust Network Handling: Features retry logic, proxy support, timeouts, and user-agent randomization.
- WAF Detection: Basic heuristics to detect Web Application Firewalls.
# Clone the repository
git clone https://github.com/yourusername/sqlister.git
cd sqlister
# Install dependencies
pip install -r requirements.txtScanning a single URL with parameters:
python sqlister.py -u "http://target.site/vuln.php?id=1"1. POST Data scanning:
python sqlister.py -u "http://target.site/login.php" --data "user=admin&pass=123"2. authenticated Scan (Cookies):
python sqlister.py -u "http://target.site/profile.php" --cookie "PHPSESSID=..."3. WAF Bypass (Tampering):
Use randomcase and space2comment to evade simple filters:
python sqlister.py -u "http://target.site/vuln.php?id=1" --tamper "randomcase,space2comment"4. Custom Payloads: Load a custom list of polyglots or specific payloads:
python sqlister.py -u "http://target.site/vuln.php?id=1" --payload-file my_payloads.txt5. Full Intensity Scan: Increase level/risk and traverse all techniques:
python sqlister.py -u "http://target.site/" --level 5 --risk 3 --batch| Option | Description |
|---|---|
-u, --url |
Target URL (e.g. http://www.site.com/vuln.php?id=1) |
--data |
Data string to be sent through POST |
--cookie |
HTTP Cookie header value |
--headers |
Extra headers (e.g. Accept-Language: fr\nETag: 123) |
--proxy |
Use a proxy to connect to the target URL |
--level |
Level of tests to perform (1-5, default 1) |
--risk |
Risk of tests to perform (1-3, default 1) |
--technique |
SQL injection techniques to use (default "BEUST") |
--payload-file |
Load custom payloads from a file |
--tamper |
Use given tamper script(s) (comma-separated) |
--check-waf |
Check for existence of WAF/IPS |
Usage of this program for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program.
MIT License