Skip to content

Advanced IDOR vulnerability detection tool for bug bounty hunters and security researchers. This comprehensive scanner automates the discovery of Insecure Direct Object Reference vulnerabilities using multiple attack vectors including parameter pollution, JWT manipulation, GraphQL testing, and race condition detection. Features intelligent endpoint

License

Notifications You must be signed in to change notification settings

BillWilsonYnk/Cylinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ CYLINDER

IDOR Scanner Banner

Python 3.8+ License Contributions welcome

Cylinder is a sophisticated cybersecurity tool for identifying IDOR vulnerabilities during bug bounty hunting


🚀 Features

  • 🔍 Multi-Vector Detection - Tests for multiple IDOR vulnerability types
  • 🔄 Parameter Pollution - Advanced parameter manipulation techniques
  • 📡 API Endpoint Discovery - Automatically finds potential vulnerable endpoints
  • 🔐 JWT Token Analysis - Identifies flaws in JWT implementation
  • Race Condition Testing - Detects timing-based access control issues
  • 🔗 GraphQL Vulnerability Detection - GraphQL-specific IDOR testing
  • 🛠️ Mass Assignment Testing - Detects object property manipulation flaws
  • 📊 Comprehensive Reporting - Detailed vulnerability reports in JSON format

Tool Demo

📋 Requirements

Python 3.8+
requests
rich

🔧 Installation

# Clone this repository
git clone https://github.com/yourusername/idor-scanner.git

# Navigate to the project
cd idor-scanner

# Install requirements
pip install -r requirements.txt

💻 Usage

python idor_scanner.py -u https://target-website.com -c "session=abc123" -v -o results.json

Command Line Options

Option Description
-u, --url Target URL (required)
-c, --cookies Cookies for authenticated testing
-H, --headers Custom HTTP headers
-i, --ids Test IDs (comma-separated)
-v, --verbose Enable detailed output
-t, --timeout Request timeout in seconds
-p, --proxy HTTP/HTTPS proxy (e.g. Burp Suite)
-o, --output Save results to JSON file
--no-ssl-verify Disable SSL verification
--threads Number of concurrent threads
--jwt JWT token for testing
--graphql Enable GraphQL-specific testing

📊 Example Output

{
  "target": "https://example.com",
  "timestamp": "2025-03-19 14:30:45",
  "findings": [
    {
      "type": "IDOR with Sensitive Data",
      "url": "https://example.com/api/user/5",
      "description": "Path parameter IDOR test: replaced '1' with '5'",
      "status": 200,
      "response_sample": "{\"id\":5,\"username\":\"admin\",\"email\":\"admin@example.com\"}"
    }
  ]
}

Security Testing

⚠️ Disclaimer

This tool is for ethical security research and bug bounty hunting only. Always:

  • Get explicit permission before testing any website
  • Only test systems you are authorized to test
  • Follow the scope and rules of bug bounty programs
  • Be mindful of the potential impact of your testing

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

🙏 Acknowledgements

  • Thanks to the ethical hacking community for inspiration
  • Special thanks to all contributors and bug bounty platforms

Thank You

Cylinder - Advanced IDOR Vulnerability Testing Script

A comprehensive IDOR (Insecure Direct Object Reference) vulnerability testing script designed for ethical bug bounty hunting and security research.

Features

Core IDOR Testing

  • Standard IDOR Detection: Tests for common IDOR vulnerabilities in URL parameters and paths
  • Parameter Pollution: Advanced techniques to bypass access controls
  • HTTP Method Switching: Tests different HTTP methods for IDOR
  • API Version Manipulation: Tests older API versions that might have weaker controls
  • JWT Token Manipulation: Tests for IDOR via JWT payload manipulation
  • Race Condition Testing: Detects timing-based IDOR vulnerabilities
  • GraphQL IDOR Testing: Specialized testing for GraphQL endpoints
  • Mass Assignment: Tests for IDOR via object property injection

High-Value Vulnerability Testing

  • Privileged Endpoints: Tests admin, management, and system endpoints
  • Batch Operations: Tests bulk operations that often process multiple resources
  • Webhook Endpoints: Tests webhook and callback endpoints for sensitive data
  • File Operations: Tests file upload/download endpoints for document access
  • Admin Functions: Tests administrative functions with elevated privileges
  • Payment Endpoints: Tests billing and payment systems for financial data
  • API Key Endpoints: Tests credential and token management endpoints
  • OAuth Endpoints: Tests authentication and authorization endpoints

Advanced Techniques

  • Sequential ID Testing: Tests predictable ID sequences (1-20, 100-120, etc.)
  • Common High-Value IDs: Tests admin, root, system, and other privileged IDs
  • Header Manipulation: Tests for IDOR via custom HTTP headers
  • JSON Path Traversal: Tests nested JSON structures for IDOR
  • Advanced Parameter Techniques: URL encoding, case manipulation, and more
  • Advanced Path Traversal: Double encoding, mixed slashes, dotless traversal techniques

Ultra-Sophisticated Combined Attack Vectors

  • GraphQL Introspection: Tests for exposed GraphQL schemas and introspection vulnerabilities
  • Advanced JWT Manipulation: Algorithm confusion, key injection, header manipulation
  • Prototype Pollution: Tests for JavaScript prototype pollution vulnerabilities
  • HTTP Request Smuggling: Tests for HTTP request smuggling vulnerabilities
  • SSRF Techniques: Tests for Server-Side Request Forgery vulnerabilities
  • Cache Poisoning: Tests for cache poisoning via header manipulation
  • Deserialization Attacks: Tests for insecure deserialization vulnerabilities
  • Template Injection: Tests for server-side template injection vulnerabilities
  • NoSQL Injection: Tests for NoSQL injection vulnerabilities
  • LDAP Injection: Tests for LDAP injection vulnerabilities
  • XML External Entity (XXE): Tests for XXE vulnerabilities
  • Server-Side Includes (SSI): Tests for SSI vulnerabilities
  • Command Injection: Tests for command injection vulnerabilities
  • Advanced Encoding Bypass: Tests for encoding bypass techniques
  • Combined Attack Vectors: Tests for multi-vector attack combinations

Installation

# Clone the repository
git clone <repository-url>
cd Cylinder

# Install dependencies
pip install -r requirements.txt

Usage

Basic Usage

# Test a target URL for IDOR vulnerabilities
python cylinder.py -u https://target.com

# Test with authentication cookies
python cylinder.py -u https://target.com -c "session=abc123; user_id=123"

# Test with custom headers
python cylinder.py -u https://target.com -H "Authorization: Bearer token123" -H "X-API-Key: key123"

High-Value Testing

# Enable all high-value tests (recommended for bug bounty hunting)
python cylinder.py -u https://target.com --all-high-value

# Test specific high-value areas
python cylinder.py -u https://target.com --privileged --payment --admin

# Test with sequential IDs and common high-value IDs
python cylinder.py -u https://target.com --sequential --common-ids

Advanced Testing

# Test with JWT token manipulation
python cylinder.py -u https://target.com --jwt "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

# Test GraphQL endpoints
python cylinder.py -u https://target.com --graphql

# Test with custom user IDs
python cylinder.py -u https://target.com -i "admin,root,system,user1,user2"

# Use proxy for testing
python cylinder.py -u https://target.com --proxy "http://127.0.0.1:8080"

# Save results to file
python cylinder.py -u https://target.com --output results.json

# Test with advanced path traversal
python cylinder.py -u https://target.com --advanced-traversal

### Ultra-Sophisticated Testing

```bash
# Enable all ultra-sophisticated attack vectors (maximum coverage)
python cylinder.py -u https://target.com --all-ultra-sophisticated

# Test specific ultra-sophisticated techniques
python cylinder.py -u https://target.com --graphql-introspection --jwt-advanced --prototype-pollution

# Test for SSRF and cache poisoning
python cylinder.py -u https://target.com --ssrf --cache-poisoning

# Test for injection vulnerabilities
python cylinder.py -u https://target.com --nosql-injection --ldap-injection --xxe

# Test for template and command injection
python cylinder.py -u https://target.com --template-injection --command-injection

# Test combined attack vectors
python cylinder.py -u https://target.com --combined-attacks --advanced-encoding

Verbose Output

# Enable verbose output for detailed testing information
python cylinder.py -u https://target.com --verbose --all-high-value

Command Line Options

Basic Options

  • -u, --url: Target URL (required)
  • -c, --cookies: Cookies string (format: key1=value1; key2=value2)
  • -H, --headers: Custom headers (can be used multiple times)
  • -i, --ids: Comma-separated list of custom IDs to test
  • -v, --verbose: Enable verbose output
  • -t, --timeout: Request timeout in seconds (default: 10)
  • -p, --proxy: Proxy URL (format: http://127.0.0.1:8080)
  • -o, --output: Output file for results (JSON format)
  • --no-ssl-verify: Disable SSL certificate verification
  • --threads: Number of concurrent threads (default: 5)

Advanced Options

  • --jwt: JWT token to manipulate for testing
  • --graphql: Enable GraphQL-specific IDOR testing

High-Value Testing Options

  • --all-high-value: Enable all high-value IDOR tests
  • --sequential: Test sequential IDs (1-20, 100-120, 1000-1020)
  • --common-ids: Test common high-value IDs (admin, root, system, etc.)
  • --privileged: Test privileged endpoints (admin, management, etc.)
  • --batch: Test batch operations for IDOR
  • --webhooks: Test webhook endpoints for IDOR
  • --files: Test file operations for IDOR
  • --admin: Test admin functions for IDOR
  • --payment: Test payment endpoints for IDOR
  • --api-keys: Test API key endpoints for IDOR
  • --oauth: Test OAuth endpoints for IDOR
  • --advanced-traversal: Enable advanced path traversal testing

Ultra-Sophisticated Attack Vector Options

  • --all-ultra-sophisticated: Enable all ultra-sophisticated attack vectors
  • --graphql-introspection: Enable GraphQL introspection testing
  • --jwt-advanced: Enable advanced JWT manipulation testing
  • --prototype-pollution: Enable prototype pollution testing
  • --http-smuggling: Enable HTTP request smuggling testing
  • --ssrf: Enable SSRF testing
  • --cache-poisoning: Enable cache poisoning testing
  • --deserialization: Enable deserialization testing
  • --template-injection: Enable template injection testing
  • --nosql-injection: Enable NoSQL injection testing
  • --ldap-injection: Enable LDAP injection testing
  • --xxe: Enable XML External Entity testing
  • --ssi: Enable Server-Side Includes testing
  • --command-injection: Enable command injection testing
  • --advanced-encoding: Enable advanced encoding bypass testing
  • --combined-attacks: Enable combined attack vector testing

Output

The script provides detailed output including:

Console Output

  • Real-time progress with spinner
  • Color-coded severity levels (CRITICAL, HIGH, MEDIUM)
  • Summary of findings by severity
  • Detailed vulnerability table

JSON Output

When using --output, results are saved in JSON format:

{
  "target": "https://target.com",
  "timestamp": "2024-01-01 12:00:00",
  "findings": [
    {
      "type": "IDOR",
      "url": "https://target.com/api/user/admin",
      "description": "Privileged endpoint test: /admin/ with ID admin",
      "status": 200,
      "severity": "CRITICAL",
      "response_sample": "..."
    }
  ]
}

Severity Levels

  • CRITICAL: Payment systems, admin functions, API keys, OAuth endpoints
  • HIGH: Privileged endpoints, batch operations, webhooks, file operations
  • MEDIUM: Standard IDOR vulnerabilities, parameter pollution, method switching

Best Practices for Bug Bounty Hunting

  1. Start with High-Value Tests: Use --all-high-value for maximum coverage
  2. Test Authenticated Endpoints: Always test with valid authentication
  3. Use Sequential IDs: Many applications use predictable ID sequences
  4. Test Admin Functions: Admin endpoints often contain the most valuable data
  5. Check Payment Systems: Financial data is highly valued by bug bounty programs
  6. Test File Operations: Document access can lead to significant bounties
  7. Use Verbose Mode: Detailed output helps understand the testing process
  8. Save Results: Always save results for later analysis and reporting
  9. Use Ultra-Sophisticated Techniques: For advanced targets, use --all-ultra-sophisticated
  10. Test GraphQL Endpoints: GraphQL introspection can reveal sensitive schema information
  11. Check for Prototype Pollution: JavaScript applications may be vulnerable to prototype pollution
  12. Test SSRF Vulnerabilities: Internal service access can lead to high-value findings
  13. Look for Injection Vulnerabilities: NoSQL, LDAP, and template injection can bypass authentication
  14. Test Combined Attack Vectors: Multi-vector attacks can bypass multiple security controls

Legal and Ethical Use

This tool is designed for:

  • Authorized security testing on systems you own or have permission to test
  • Bug bounty programs where you have explicit authorization
  • Educational purposes in controlled environments

Do not use this tool for:

  • Unauthorized testing of systems you don't own
  • Malicious attacks or data theft
  • Testing production systems without permission

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • New testing techniques
  • Bug fixes
  • Performance improvements
  • Documentation updates

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This tool is provided for educational and authorized security testing purposes only. The authors are not responsible for any misuse of this tool. Always ensure you have proper authorization before testing any system.

About

Advanced IDOR vulnerability detection tool for bug bounty hunters and security researchers. This comprehensive scanner automates the discovery of Insecure Direct Object Reference vulnerabilities using multiple attack vectors including parameter pollution, JWT manipulation, GraphQL testing, and race condition detection. Features intelligent endpoint

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages