π Modular Web Vulnerability Scanner
Comprehensive testing for XSS, SQLi, LFI, SSRF, RCE, Open Redirect, and CSRF β built for penetration testers, bug bounty hunters, and security researchers.
PenHunter is a powerful, modular web vulnerability scanner written in Go. It provides comprehensive testing for common web vulnerabilities including XSS, SQL Injection, LFI, SSRF, RCE, Open Redirect, and CSRF β with concurrent scanning, advanced detection methods, WAF evasion, and integrations with industry tools like dalfox, sqlmap, and nuclei.
- About
- Features
- Installation
- Quick Start
- Usage Examples
- Screenshots
- Command Reference
- Advanced Usage
- Contributing
- License
- Support
- π Multiple Vulnerability Scanners: XSS, SQLi, LFI, SSRF, RCE, Open Redirect, CSRF
- π High Performance: Concurrent scanning with configurable thread pools
- π― Advanced Detection: Boolean-based, time-based, error-based detection methods
- π‘οΈ WAF Evasion: Payload mutation, header rotation, TLS fingerprint randomization
- π§ External Tool Integration: dalfox, sqlmap, nuclei, and more
- π Multiple Output Formats: JSON, HTML, TXT
- π¨ Interactive CLI: Menu-driven interface for guided scans
- π Auto-Update: Built-in update mechanism via GitHub releases
- π Organized Results: Automatic directory structure for scan results
Differential analysis, boolean/time/error oracles, and payload mutation built in.
- π― Differential Response Analysis: Detects subtle behavior changes that confirm vulnerabilities
- π’ Multi-Method Coverage: Boolean-based, time-based, and error-based detection paths per vuln class
- π§ Payload Mutation: Automatic encoding, casing, and obfuscation variants for WAF bypass
- π Confidence Scoring: Per-finding confidence to filter true positives from noise
Subdomain β URL β endpoint β vulnerability
PenHunter integrates the best-in-class recon stack:
Subdomain enumeration:
- π§ subfinder, assetfinder β passive discovery
- πͺ amass (optional) β active + passive
HTTP probing & URL discovery:
- π httpx β live host probing
- π urlfinder, katana, gospider β crawler-based URL collection
- π§ gau, gauplus, waybackurls β wayback machine harvesting
Endpoint extraction:
- π cariddi, getJS β JS endpoint mining
- π PenHunter native parsing β built-in JS extractor
Vulnerability scanning:
- π‘οΈ dalfox, sqlmap, nuclei β best-in-class engines, orchestrated through PenHunter
Seven vulnerability classes, comprehensive coverage
| Class | Detection Methods | Default Engine |
|---|---|---|
| π XSS | Reflected, stored, DOM | Native + dalfox |
| π« SQLi | Boolean, time, error, union | Native + sqlmap |
| π₯ LFI | Path traversal, wrapper, log poisoning | Native |
| π SSRF | Internal, cloud metadata, gopher, file | Native + OOB |
| π‘οΈ RCE | Command injection, template injection | Native + nuclei |
| π Open Redirect | Header, parameter, JS-based | Native |
| π CSRF | Missing token, weak token, predictable | Native |
Production-grade HTTP layer for scaling and stealth
- π§ Custom Headers (
-H): Repeatable headers for authenticated scans - πͺ Cookie Support (
-c): Session cookies for protected resources - π User-Agent Rotation: Built-in UA rotation for evasion
- β±οΈ Rate Limiting: Configurable request pacing
- β° Timeouts: Per-request timeout control
- π Retry Logic: Exponential backoff on failures
- π Proxy Support: Burp Suite and other intercepting proxies
- π TLS Bypass: Optional certificate verification skip for testing
Three formats, organized result hierarchy
- π₯οΈ Console: Color-coded terminal output with severity highlighting
- π TXT: Plain text logs for scripting
- π JSON: Structured output for automation pipelines
- π HTML: Self-contained reports for stakeholder review
go install -v github.com/cc1a2b/PenHunter/cmd/penhunter@latest
penhunter --helpNote:
go installships only the binary. To get the bundledconfig/(payloads, encoders, user callbacks), clone the repo or usemake install.
git clone https://github.com/cc1a2b/PenHunter.git
cd PenHunter
make build
make install # installs to $HOME/penhunter/# Linux/macOS
export PATH="$HOME/penhunter/bin:$PATH"
# Or symlink
sudo ln -sf $HOME/penhunter/bin/penhunter /usr/local/bin/penhunterDownload the latest release from GitHub Releases and extract to your $HOME/penhunter/ directory.
- Go 1.21+ (for building from source)
- Linux, macOS, or Windows (64-bit)
- External recon tools (optional but recommended): subfinder, assetfinder, httpx, katana, gau, dalfox, sqlmap, nuclei
penhunterLaunches the menu where you choose between single-domain or subdomain scanning, vulnerability classes, and engines.
penhunter -u https://example.com -v xss,sqlipenhunter -l urls.txt -v xss -t 50 --json results.jsonpenhunter --update# Test single URL for XSS + SQLi
penhunter -u https://example.com -v xss,sqli
# Multi-URL scan with custom thread count
penhunter -l urls.txt -v xss -t 50 --json results.json
# Full vulnerability sweep
penhunter -u https://target.com -v xss,sqli,lfi,ssrf,rce,redirect,csrf -t 30
# Stealth scan through Burp Suite
penhunter -u https://target.com -v xss --proxy http://127.0.0.1:8080 -R 1000
# Authenticated scan with cookies and headers
penhunter -u https://target.com -v xss,sqli \
-c "session=abc123" \
-H "Authorization: Bearer eyJ..."
# Check installed external tools
penhunter --check-tools
# Check for updates
penhunter --check-update
LFI vulnerability scan β path traversal detection with confirmed payload.
XSS vulnerability scan β reflected payload confirmed in response.
Usage:
penhunter [flags]
Modes:
(no args) Launch interactive menu
-u, --url URL Test a single URL
-l, --list FILE Test URLs from a file
-v, --vulns LIST Comma-separated vulns
(xss, sqli, lfi, ssrf, rce, redirect, csrf)
HTTP & Performance:
-t, --threads INT Concurrent threads (default: 10)
-H, --header "K: V" Custom HTTP headers (repeatable)
-c, --cookies STR Session cookies
-p, --proxy URL HTTP/HTTPS/SOCKS proxy
-k, --skip-tls Skip TLS verification
-R, --rate-limit MS Request delay (milliseconds)
Output:
-o, --output FILE Output file
--json FILE Structured JSON output
--html FILE HTML report
Maintenance:
--update Update PenHunter to latest
--check-update Check if a new version is available
--check-tools Verify external tools are installed
-h, --help Show help
-V, --version Show version
# 1. Subdomain enumeration β URL collection β vuln scan
subfinder -d target.com | httpx | tee live.txt
gau < live.txt | tee urls.txt
penhunter -l urls.txt -v xss,sqli,redirect -t 30 --json findings.jsonpenhunter -l production-urls.txt -v xss,sqli \
--json "scan-$(date +%F).json" \
-R 2000 \
--proxy http://internal-proxy:8080penhunter -u https://target.com -v xss \
-H "X-Forwarded-For: 1.1.1.1" \
-H "X-Real-IP: 1.1.1.1" \
-R 1500Contributions welcome from the security community.
- π Report bugs via GitHub Issues
- π‘ Suggest features or new vulnerability classes
- π Improve documentation
- π§ Submit pull requests with new payloads, detectors, or integrations
git clone https://github.com/cc1a2b/PenHunter.git
cd PenHunter
go mod tidy
make buildPenHunter is released under the MIT License. See LICENSE for details.
Copyright (c) 2024-2026 Hussain Alsharman
Licensed under MIT License β free for commercial and personal use
If PenHunter helps with your security research:
β Star this repo β’ π¦ Follow @cc1a2b β’ π’ Share with the security community
π PenHunter β Modular Web Vulnerability Scanner
Built with β€οΈ by cc1a2b for the security community
