Skip to content

kishanmca2024/Advanced-GraphQL-Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation


🌐 Advanced GraphQL Finder

Created by: noobie-boy


🔎 Introduction

Advanced GraphQL Finder is a Python-powered tool designed to detect GraphQL endpoints from a list of domains. Whether you’re a penetration tester, bug bounty hunter, or cybersecurity enthusiast, this tool simplifies the discovery of GraphQL endpoints for further exploitation or analysis.


🛠️ Features at a Glance

Feature Description
🎯 Dynamic Input Accepts the domain file name at runtime.
Multithreading Quickly scans multiple domains using concurrent threads.
📡 Comprehensive Detection Identifies GraphQL endpoints using a list of common paths and response checks.
📝 Detailed Reports Saves results to graphql_advanced_results.txt for easy review.
🛠️ Customizable Expandable endpoint list and adaptable headers for authentication.

🔧 Installation

Step 1: Clone the Repository

git clone https://github.com/kishanmca2024/Advanced-GraphQL-Finder.git
cd advanced-graphql-finder

Step 2: Install Dependencies

Ensure you have Python 3.x installed, then run:

pip install requests

🚀 How to Use

Step 1: Prepare Your Input

Create a file (e.g., domain.txt) with a list of domains to scan. Use one domain per line:

example.com
test.com
http://example.org
https://secure-site.net

Step 2: Run the Script

Run the script using Python:

python interactive_graphql_finder.py

Step 3: Enter the File Name

When prompted, enter the name of your domain file:

Enter the domain file name (e.g., domain.txt): domain.txt

Step 4: Review Results

The output will be saved in graphql_advanced_results.txt. Example output:

✅ http://example.com/graphql - GraphQL Found!
❌ http://example.com/api/graphql - No response
✅ https://secure-site.net/v1/graphql - GraphQL Found!

🛠️ Customization

Add More Endpoints

Edit the GRAPHQL_ENDPOINTS variable in the script to add additional paths:

GRAPHQL_ENDPOINTS = [
    "/graphql", "/graphiql", "/api/graphql", "/v1/graphql", "/custom/graphql"
]

Add Authentication

Add authentication headers by modifying the headers dictionary:

headers = {
    "User-Agent": "AdvancedGraphQLFinder/1.0",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN",
}

Adjust Timeout or Threads

  • Change the timeout in the requests.get method to fit your network latency.
  • Modify the max_workers parameter in ThreadPoolExecutor for faster or more granular performance.

📊 Features Comparison

Feature Advantage
GraphQL Path Discovery Predefined paths ensure quick detection without manually guessing.
Threaded Scanning Speeds up scanning of large domain lists with multithreading.
Error Handling Gracefully handles non-responsive domains or missing files.
Customizable Easily expandable for custom headers or paths.

🛡️ Troubleshooting

Common Issues and Fixes

Issue Possible Cause Solution
FileNotFoundError Incorrect or missing domain file. Ensure the file exists in the directory.
No endpoints detected Rare or non-standard GraphQL paths. Add custom paths to GRAPHQL_ENDPOINTS.
Slow scanning Large domain list or network latency. Increase max_workers or reduce timeout.

🌟 Why Use Advanced GraphQL Finder?

  • Save Time: Automates tedious GraphQL endpoint discovery.
  • Boost Accuracy: Built-in signatures detect valid GraphQL endpoints.
  • Improve Efficiency: Supports bulk scanning of domains effortlessly.

👨‍💻 Contributing

We welcome contributions!

  • Fork this repository.
  • Add new features or fix bugs.
  • Submit a pull request for review.

📜 License

This project is licensed under the MIT License.


🤝 About the Creator

noobie-boy is a passionate cybersecurity researcher and developer. Connect with me on GitHub or social media to share feedback, ideas, or collaborations!


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages