GraphQL Cop হল একটি ছোট পাইথন ইউটিলিটি যা GraphQL API- এর বিরুদ্ধে সাধারণ নিরাপত্তা পরীক্ষা চালানোর জন্য ।
প্রয়োজনীয়তা
- Python3
- লাইব্রেরি অনুরোধ
সনাক্তকরণ
- উপনাম ওভারলোডিং (DoS)
- ব্যাচ প্রশ্ন (DoS)
- GET ভিত্তিক প্রশ্ন (CSRF)
- গ্রাফকিউএল ট্রেসিং / ডিবাগ মোড (তথ্য ফাঁস)
- ফিল্ড ডুপ্লিকেশন (DoS)
- ক্ষেত্রের পরামর্শ (তথ্য ফাঁস)
- গ্রাফিকিউএল (তথ্য ফাঁস)
- আত্মদর্শন (তথ্য ফাঁস)
- নির্দেশাবলী ওভারলোডিং (DoS)
ব্যবহার
CSRF (GET)’: {‘severity’: ‘LOW’, ‘impact’: ‘সম্ভাব্য CSRF’, ‘description’: ‘HTTP GET পদ্ধতি সমর্থিত (হয়তো CSRF)’}, ‘অ্যালিয়াস ওভারলোডিং’: {‘severity’: ‘উচ্চ’, ‘প্রভাব’: ‘পরিষেবার অস্বীকৃতি’, ‘বর্ণনা’: ‘100+ উপনামের সাথে ওভারলোডিং অনুমোদিত’}, ‘ক্ষেত্রের অনুলিপি’: {‘তীব্রতা’: ‘হাই’, ‘প্রভাব’: ‘অস্বীকৃতি’ পরিষেবার’, ‘বিবরণ’: ‘একই পুনরাবৃত্ত ক্ষেত্রটির 1000+ সহ প্রশ্নের অনুমতি দেওয়া হয়’}, ‘নির্দেশমূলক ওভারলোডিং’: {‘তীব্রতা’: ‘হাই’, ‘প্রভাব’: ‘পরিষেবার অস্বীকার’, ‘বর্ণনা’ : ‘একটি প্রশ্নে একাধিক সদৃশ নির্দেশ মঞ্জুরিপ্রাপ্ত’}}>
python3 main.py -t https://mywebsite.com/graphql
GraphQL Cop 1.0
Security Auditor for GraphQL
Dolev Farhi <[email protected]>
Starting...
[HIGH] Introspection Query Enabled (Information Leakage)
[LOW] GraphQL Playground UI (Information Leakage)
[HIGH] Alias Overloading with 100+ aliases is allowed (Denial of Service)
[HIGH] Queries are allowed with 1000+ of the same repeated field (Denial of Service)
python3 main.py -t https://mywebsite.com/graphql -o json
{'Field Suggestions': {'severity': 'LOW', 'impact': 'Information Leakage', 'description': 'Field Suggestions are Enabled'}, 'Introspection': {'severity': 'HIGH', 'impact': 'Information Leakage', 'description': 'Introspection Query Enabled'}, 'Possible CSRF (GET)': {'severity': 'LOW', 'impact': 'Possible CSRF', 'description': 'HTTP GET method supported (maybe CSRF)'}, 'Alias Overloading': {'severity': 'HIGH', 'impact': 'Denial of Service', 'description': 'Alias Overloading with 100+ aliases is allowed'}, 'Field Duplication': {'severity': ' HIGH', 'impact': 'Denial of Service', 'description': 'Queries are allowed with 1000+ of the same repeated field'}, 'Directive Overloading': {'severity': 'HIGH', 'impact': 'Denial of Service', 'description': 'Multiple duplicated directives allowed in a query'}}