Skip to content

psyclox/sqlister

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQLister

Version Python License

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.

Key Features

  • 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.

Installation

# Clone the repository
git clone https://github.com/yourusername/sqlister.git
cd sqlister

# Install dependencies
pip install -r requirements.txt

Usage

Basic Usage

Scanning a single URL with parameters:

python sqlister.py -u "http://target.site/vuln.php?id=1"

Advanced Usage

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.txt

5. Full Intensity Scan: Increase level/risk and traverse all techniques:

python sqlister.py -u "http://target.site/" --level 5 --risk 3 --batch

Options

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

Legal Disclaimer

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.

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages