
GraphQL स्वचालित सुरक्षा परीक्षण टूलकिट
ग्राफ़ क्रॉलर किसी भी GraphQL एंडपॉइंट के लिए सबसे शक्तिशाली स्वचालित परीक्षण टूलकिट है।
नया: Escape Technology के शक्तिशाली Graphinder टूल का उपयोग करके आपके लिए एंडपॉइंट खोज सकता है। बस इसे किसी डोमेन की ओर इंगित करें और '-e' विकल्प जोड़ें, और Graphinder सबडोमेन गणना + GraphQL एंडपॉइंट के लिए लोकप्रिय निर्देशिकाओं की खोज करेगा। इस सब के बाद GraphCrawler प्रभार लेगा और प्रत्येक खोज पर काम करेगा। यदि स्कीमा का इंट्रोस्पेक्शन नहीं किया जा सकता है, तो आप इसे '-s' विकल्प के साथ एक json फ़ाइल के रूप में प्रदान कर सकते हैं।
यह जाँच करेगा कि क्या म्यूटेशन सक्षम है, उपलब्ध किसी भी संवेदनशील क्वेरी जैसे उपयोगकर्ता और फ़ाइलों की जाँच करेगा, और यह उन आसान क्वेरीज का परीक्षण भी करेगा जो यह पाता है कि क्या प्रमाणीकरण आवश्यक है।
यदि एंडपॉइंट पर इंट्रोस्पेक्शन सक्षम नहीं है, तो यह जाँच करेगा कि क्या यह एक अपोलो सर्वर है और फिर Clairvoyance चला सकता है ताकि ब्रूट फ़ोर्स करके सुझाव प्राप्त कर सके और स्वयं स्कीमा बनाने का प्रयास कर सके। (इस पर अधिक विवरण के लिए Clairvoyance प्रोजेक्ट देखें)। फिर यह निष्कर्षों को 1-10 के पैमाने पर स्कोर करेगा, जिसमें 10 सबसे गंभीर होगा।
यदि आप स्कीमा में और गहराई से जाना चाहते हैं, तो आप कुछ प्रकारों, जैसे उपयोगकर्ता आईडी, ईमेल आदि के पथ खोजने के लिए graphql-path-enum का भी उपयोग कर सकते हैं।
मुझे उम्मीद है कि यह आपका उतना ही समय बचाएगा जितना मेरा बचाया है
python graphCrawler.py -u https://test.com/graphql/api -o <fileName> -a "<headers>"
██████╗ ██████╗ █████╗ ██████╗ ██╗ ██╗ ██████╗██████╗ █████╗ ██╗ ██╗██╗ ███████╗██████╗
██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║ ██║██╔════╝██╔══██╗██╔══██╗██║ ██║██║ ██╔════╝██╔══██╗
██║ ███╗██████╔╝███████║██████╔╝███████║██║ ██████╔╝███████║██║ █╗ ██║██║ █████╗ ██████╔╝
██║ ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║██║ ██╔══██╗██╔══██║██║███╗██║██║ ██╔══╝ ██╔══██╗
╚██████╔╝██║ ██║██║ ██║██║ ██║ ██║╚██████╗██║ ██║██║ ██║╚███╔███╔╝███████╗███████╗██║ ██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝╚═╝ ╚═╝
आउटपुट विकल्प आवश्यक नहीं है और डिफ़ॉल्ट रूप से यह schema.json को आउटपुट करेगा। 2. डॉकर के रूप में नोट: चूँकि graphcrawler कुछ विकल्पों का उपयोग करता है जिन्हें इनपुट के रूप में फ़ाइलों की आवश्यकता होती है या आउटपुट उत्पन्न होता है, सलाह दी जाती है कि उन सभी फ़ाइलों को एक कार्यशील निर्देशिका में रखें और इसे कंटेनर पथ /workspace पर माउंट करें। आपका सारा आउटपुट उस माउंटेड निर्देशिका में सहेजा जाएगा।
docker build -t graphcrawler:1.2 .
docker run -v /path_to_workspace:/workspace -it graphcrawler:1.2 -u https://test.com/graphql/api -o <filename> -a "<headers>"
से शब्दसूची google-10000-english