Advanced Web Security Testing & Analysis Tool
A sophisticated Burp Intruder alternative with intelligent response analysis and vulnerability detection
PyIntruder Pro is a next-generation web application security testing tool designed for penetration testers, bug bounty hunters, and security researchers. It combines the power of automated fuzzing with intelligent analysis capabilities to identify security vulnerabilities with minimal false positives.
- 🎯 Smart Payload Injection - Multiple injection strategies including manual parameters, marker-based (§), and auto-detection
- 🧠 Intelligent Analysis - Advanced response clustering and anomaly detection
- 🔍 Vulnerability Detection - Automated detection of authentication bypasses, user enumeration, and error disclosure
- ⚡ High Performance - Asynchronous architecture with configurable threading
- 📊 Detailed Reporting - Comprehensive JSON reports with security insights
- 🎨 Professional Interface - Colored output with progress tracking
- 🔧 Burp Integration - Direct import of Burp Suite request files
- Python 3.7+
- Dependencies:
aiohttp,aiofiles,colorama
git clone https://github.com/sec-llama/pyintruder-pro.git
cd pyintruder-pro
pip install -r requirements.txtpip install aiohttp aiofiles colorama# Single parameter fuzzing
python pyintruder.py -r request.txt -w usernames.txt --parameters "username:FUZZ"
# Multi-parameter testing
python pyintruder.py -r request.txt -w payloads.txt --parameters "username:FUZZ,password:admin123"
# Advanced context specification
python pyintruder.py -r request.txt -w xss.txt --parameters "url:search:FUZZ,header:X-Forwarded-For:FUZZ"Add § markers in your request file:
POST /login HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
username=§admin§&password=password123Then run:
python pyintruder.py -r request.txt -w usernames.txt# Automatically find and fuzz all parameters
python pyintruder.py -r request.txt -w payloads.txt --auto-detect
# Target specific existing parameter
python pyintruder.py -r request.txt -w passwords.txt --target-param passwordpython pyintruder.py -r request.txt -w huge-wordlist.txt \
--parameters "user:FUZZ,pass:admin" \
--threads 50 \
--delay 0.1 \
--timeout 15 \
--output detailed_report.json| Option | Description | Default |
|---|---|---|
-r, --request |
Request file (from Burp Suite) | Required |
-w, --wordlist |
Wordlist file with payloads | Required |
--parameters |
Manual parameter specification | None |
--auto-detect |
Auto-detect injection points | False |
--target-param |
Target specific parameter | None |
-t, --threads |
Concurrent threads | 10 |
-d, --delay |
Delay between requests (seconds) | 0 |
--timeout |
Request timeout (seconds) | 10 |
-o, --output |
JSON report output file | None |
--show-all |
Show all responses | False |
url:param:value- URL parametersbody:param:value- POST body parametersheader:name:value- HTTP headers
FUZZorWORDLIST- Use wordlist payloadsfixed_value- Use static value- Empty - Use wordlist (default)
# URL parameter fuzzing
--parameters "url:id:FUZZ"
# Form data with mixed values
--parameters "body:username:FUZZ,body:password:admin123"
# Header injection
--parameters "header:User-Agent:FUZZ,header:X-Real-IP:127.0.0.1"
# Mixed contexts
--parameters "url:callback:FUZZ,body:csrf_token:abc123,header:Authorization:Bearer FUZZ"- Authentication Bypass - Identifies responses that differ from expected patterns
- User Enumeration - Timing-based, response-based, and error-based detection
- Information Disclosure - Automatic detection of error messages and stack traces
- Response Clustering - Groups similar responses to identify anomalies
- SQL injection errors (MySQL, PostgreSQL, Oracle, SQLite)
- Path disclosure vulnerabilities
- Stack trace leakage
- Server configuration errors
- Application-specific error messages
[INFO] Loading request template from login.txt
[SUCCESS] Parsed POST request to target.com
[SUCCESS] Loaded 1000 payloads
Fuzzing body.username with 1000 payloads...
Progress [1/1]: 100.0% (1000/1000) ✓ body.username
POTENTIAL VULNERABILITIES DETECTED:
[VULN] User Enumeration (Response Based): 3 instances
Sample payloads: admin, administrator, root
INTERESTING RESPONSES (15):
Status 200, Length 1247: 12 responses (e.g., 'admin')
Status 500, Length 0: 3 responses (e.g., 'admin"')
{
"scan_info": {
"timestamp": "2024-01-15 14:30:22",
"tool": "PyIntruder Pro v2.0.0",
"total_requests": 1000
},
"analysis_summary": {
"potential_vulnerabilities": [...],
"interesting_responses": [...],
"unique_response_patterns": 45
},
"detailed_results": [...]
}- Parameter discovery and fuzzing
- Authentication bypass testing
- User enumeration attacks
- Input validation testing
- Login brute forcing with intelligent analysis
- Parameter pollution testing
- Error-based information gathering
- Response time analysis
- Custom payload testing
- Protocol fuzzing
- Response pattern analysis
- Vulnerability validation
This tool is designed for authorized security testing only. Users are responsible for:
- Obtaining proper authorization before testing
- Following responsible disclosure practices
- Complying with applicable laws and regulations
- Using the tool ethically and professionally
Contributions are welcome! Please read our Contributing Guidelines and submit pull requests for:
- New vulnerability detection modules
- Performance improvements
- Additional payload injection techniques
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by PortSwigger's Burp Suite Intruder
- Built with modern Python async/await patterns
- Incorporates industry-standard security testing methodologies
- Right-click request in Burp Suite
- "Copy to file" or "Save item"
- Save as
request.txt
# Download common usernames
wget https://github.com/danielmiessler/SecLists/raw/master/Usernames/top-usernames-shortlist.txt
# Or create custom wordlist
echo -e "admin\nadministrator\nroot\ntest\nguest" > usernames.txt# Basic username enumeration
python pyintruder.py -r request.txt -w usernames.txt --parameters "username:FUZZ"
# Advanced multi-parameter testing
python pyintruder.py -r request.txt -w passwords.txt \
--parameters "user:admin,pass:FUZZ" \
--threads 20 --output report.json- Review console output for immediate findings
- Check JSON report for detailed analysis
- Look for response clustering and anomalies
- Investigate potential vulnerabilities flagged
For detailed documentation, advanced usage examples, and troubleshooting, visit our Wiki.