PyDotPwn Documentation
π PyDotPwn - Complete Documentation
Welcome to the comprehensive documentation for PyDotPwn, a powerful directory traversal fuzzer with modern Python implementation, GUI interface, and REST API capabilities.
π Documentation Overview
This documentation provides everything you need to master PyDotPwn, from basic usage to advanced features and API integration.
π― Quick Navigation
π Getting Started
Installation, setup, and your first scan in 5 minutes
π Path Validation Bypass
Revolutionary 25,000+ pattern bypass capability (EXCLUSIVE)
π» CLI Reference
Complete command-line interface documentation
π₯οΈ GUI Guide
Graphical interface tutorial and feature overview
π API Documentation
REST API endpoints and integration guide
π Examples
Real-world usage examples and scenarios
π§ Troubleshooting
Common issues, solutions, and best practices
β¨ What is PyDotPwn?
PyDotPwn is a revolutionary directory traversal fuzzer that represents the most significant advancement in path traversal testing since the original tool. This Python implementation doesnβt just enhance the original Perl version β it completely transforms directory traversal testing with:
π Game-Changing Path Validation Bypass (EXCLUSIVE)
- 25,000+ Bypass Patterns: The industryβs most comprehensive path validation bypass capability
- 90+ Real-World Subdirectories: Targets actual deployment patterns like
/var/www/images/../../../etc/passwd
- 5-Level URL Encoding: Deep WAF bypass with quintuple encoding (
%252525252f
) - OWASP Coverage: Specifically targets βFile path traversal, validation of start of pathβ (CWE-22)
π Revolutionary Improvements Over Original
- 1,305% More Patterns: From 1,778 to 25,000+ comprehensive attack patterns
- β Path Validation: Completely new capability not present in original
- 4,700% More Absolute Paths: From ~3 to 144+ absolute path variations
- Enterprise-Grade WAF Bypass: 5-level encoding vs basic single encoding
- Modern Architecture: Full async/await, REST API, GUI interface
π― Key Features
- π Multiple Protocols: HTTP/HTTPS, FTP, TFTP, and custom payload fuzzing
- π₯οΈ Modern GUI: Professional PyQt6 interface with real-time monitoring
- π REST API: Complete FastAPI implementation for automation and integration
- π§ Smart Intelligence: OS detection, service fingerprinting, and bisection algorithms
- π Rich Reporting: Multiple output formats (JSON, XML, HTML, CSV, Text)
- β‘ High Performance: Async operations and optimized pattern generation
- π Security Focused: Input validation, safe defaults, and ethical usage guidelines
ποΈ Enhanced Over Original
- Memorable Parameters: Both short (
-h
) and long (--hostname
) options - Rich Terminal Output: Beautiful colored output with progress indicators
- Type Safety: Full type hints for better development experience
- Modern Packaging: Proper Python packaging with
pyproject.toml
π― When to Use PyDotPwn
π’ Enterprise Web Applications
Perfect for applications with sophisticated security controls:
- Applications that validate legitimate path prefixes (like
/uploads/
,/images/
) - Modern frameworks with path sanitization
- Applications behind advanced WAFs
- Multi-tier enterprise environments
π‘οΈ Advanced Penetration Testing
Professional security assessments requiring:
- Comprehensive pattern coverage (25,000+ vs 1,778)
- Deep WAF bypass capabilities (5-level encoding)
- Real-world attack simulation
- Professional reporting and documentation
π§ Automation & CI/CD Integration
DevSecOps workflows needing:
- REST API for automated testing
- JSON output for parsing and analysis
- Command-line automation
- Container deployment
π Why PyDotPwn vs Original DotDotPwn?
| Scenario | Original DotDotPwn | PyDotPwn | |βββ-|ββββββ-|βββ-| | Modern Web Apps | β Misses 99%+ patterns | β Comprehensive 25,000+ patterns | | Path Validation Bypass | β Not supported | β Industry-leading capability | | WAF Bypass | β Basic encoding | β 5-level deep encoding | | Enterprise Testing | β Limited coverage | β Professional-grade | | Automation | β CLI only | β CLI + API + GUI | | Reporting | β Text only | β 5 professional formats |
- Comprehensive Testing: Full test suite with 100% core functionality coverage
π Quick Start
Get up and running in minutes:
# 1. Clone the repository
git clone https://github.com/nanragav/PyDotPwn.git
cd PyDotPwn
# 2. Set up virtual environment
python3 -m venv .venv
source .venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run your first scan
python dotdotpwn.py --module http --host example.com --file /etc/passwd --pattern "root:"
# 5. Launch GUI
python launch_gui.py
π― Use Cases
π Security Testing
- Web Application Testing: Discover directory traversal vulnerabilities in web apps
- Infrastructure Assessment: Test FTP, TFTP, and other file services
- API Security: Test REST APIs and web services for path traversal
- Penetration Testing: Comprehensive vulnerability assessment toolkit
π οΈ Development & Research
- Security Research: Pattern analysis and vulnerability research
- Automation: API integration for automated security testing
- Education: Learning about directory traversal vulnerabilities
- Tool Development: Extend functionality with custom modules
π¨ Interface Options
π» Command Line Interface
Perfect for automation, scripting, and advanced users who prefer terminal operations.
dotdotpwn --module http --hostname example.com --target-file /etc/passwd --pattern "root:" --depth 8
π₯οΈ Graphical User Interface
Professional PyQt6 interface with real-time monitoring, perfect for interactive use.
- Real-time scan output with syntax highlighting
- System resource monitoring
- Scan history and management
- Multiple export formats
- Intuitive configuration
π REST API
Complete API for integration with other tools and automation workflows.
# Start API server
python dotdotpwn.py api --host localhost --port 8000
# Use API endpoints
curl -X POST "http://localhost:8000/scan" -H "Content-Type: application/json" -d '{"module": "http", "host": "example.com"}'
π Module Overview
Module | Purpose | Use Case |
---|---|---|
http | Web application testing | Standard web app security testing |
http-url | URL parameter fuzzing | Testing specific vulnerable parameters |
ftp | FTP server testing | File server vulnerability assessment |
tftp | TFTP server testing | Network device and embedded system testing |
payload | Custom protocol testing | Testing proprietary or custom services |
stdout | Pattern generation | Generate patterns for use in other tools |
π Ethical Usage
PyDotPwn is designed for legitimate security testing purposes:
- β Authorized Testing Only: Only test systems you own or have explicit permission to test
- β Professional Use: Designed for security professionals, researchers, and educators
- β Responsible Disclosure: Follow proper vulnerability disclosure practices
- β Legal Compliance: Ensure compliance with local laws and regulations
π€ Community & Support
- π Documentation: Comprehensive guides and references (youβre here!)
- π Issues: Report bugs and request features on GitHub
- π¬ Discussions: Join community discussions and share experiences
- π§ Contributions: Contribute code, documentation, or bug reports
π Project Status
- β Core Functionality: 100% operational with full test coverage
- β GUI Application: Professional interface with advanced features
- β API Integration: Complete REST API with OpenAPI documentation
- β Documentation: Comprehensive guides and references
- β Cross-Platform: Windows, Linux, and macOS support
Ready to get started? Head over to the Getting Started Guide or explore specific sections using the navigation above!