
OpenAPI दस्तावेज़ों को Burp Suite में पार्स करें OpenAPI-आधारित API सुरक्षा मूल्यांकन को स्वचालित करने के लिए (पोर्टस्विगर द्वारा उनके आधिकारिक BApp Store में शामिल करने के लिए अनुमोदित)।
[!UPDATE] इस एक्सटेंशन को नवीनतम Burp Montoya Java API का उपयोग करने के लिए अपडेट किया गया है। एक्सटेंशन के
UI/UXऔर प्रदर्शन दोनों को बेहतर बनाने के लिए इसे पूरी तरह से नया रूप दिया गया है। ये परिवर्तन सुनिश्चित करते हैं कि एक्सटेंशन आधुनिक और उपयोग के लिए अनुकूलित है।
OpenAPI-आधारित API परीक्षण के लिए डिज़ाइन किया गया एक Burp Suite एक्सटेंशन है
OpenAPIविनिर्देश (OAS)RESTAPIके लिए एक मानक, प्रोग्रामिंग भाषा-अज्ञेय इंटरफ़ेस विवरण को परिभाषित करता है, जो मनुष्यों और कंप्यूटरों दोनों को स्रोत कोड, अतिरिक्त दस्तावेज़ीकरण, या नेटवर्क ट्रैफ़िक के निरीक्षण तक पहुँच की आवश्यकता के बिना किसी सेवा की क्षमताओं की खोज और समझने की अनुमति देता है। जबOpenAPIके माध्यम से उचित रूप से परिभाषित किया जाता है, तो एक उपभोक्ता न्यूनतम कार्यान्वयन तर्क के साथ दूरस्थ सेवा के साथ बातचीत कर सकता है और समझ सकता है। इंटरफ़ेस विवरणों ने निचले स्तर की प्रोग्रामिंग के लिए जो किया है, उसके समान,OpenAPIविनिर्देश किसी सेवा को कॉल करने में अनुमान लगाने को समाप्त करता है।मशीन-पठनीय
APIपरिभाषा दस्तावेज़ों के उपयोग के मामलों में शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं: इंटरैक्टिव दस्तावेज़ीकरण; दस्तावेज़ीकरण, क्लाइंट और सर्वर के लिए कोड निर्माण; और परीक्षण मामलों का स्वचालन।OpenAPIदस्तावेज़ एकAPIकी सेवाओं का वर्णन करते हैं औरYAMLयाJSONप्रारूपों में प्रस्तुत किए जाते हैं। ये दस्तावेज़ या तो स्थिर रूप से उत्पादित और परोसे जा सकते हैं या किसी एप्लिकेशन से गतिशील रूप से उत्पन्न हो सकते हैं।
OpenAPI-आधारित API का सुरक्षा मूल्यांकन करना एक कठिन कार्य हो सकता है क्योंकि Burp Suite (उद्योग मानक) में मूल OpenAPI पार्सिंग क्षमताओं का अभाव है। इस स्थिति का एक समाधान तृतीय-पक्ष टूल (जैसे SOAP-UI) का उपयोग करना या OpenAPI दस्तावेज़ों को पार्स करने और परिणामों को Burp Suite में एकीकृत/श्रृंखलित करने के लिए कस्टम स्क्रिप्ट (अक्सर प्रति आवश्यकता के आधार पर) लागू करना है ताकि इसकी प्रथम श्रेणी की स्कैनिंग क्षमताओं का उपयोग किया जा सके।
openapi-parser एक OpenAPI पार्सर है जिसका उद्देश्य सुरक्षा पेशेवरों को OpenAPI-आधारित API के सुरक्षा मूल्यांकन के लिए Burp Suite को एक स्टैंडअलोन टूल के रूप में उपयोग करने की अनुमति देकर पूरी प्रक्रिया को सुव्यवस्थित करना है।
OpenAPI दस्तावेज़ों को फ़ाइल या URL से पार्स किया जा सकता है। एक्सटेंशन Target -> Site map संदर्भ मेनू के अंतर्गत Send to Swagger Parser सुविधा का उपयोग करके सीधे URL से OpenAPI दस्तावेज़ प्राप्त कर सकता है।OpenAPI 2.0/3.0 विनिर्देशों (OAS) के साथ पूरी तरह से संगत, पहले Swagger specification के नाम से जाने जाने वाले OpenAPI दस्तावेज़ों को पार्स करता है।Comparer, Intruder, Organizer, Repeater, Scanner, Site map और Burp टूल पर भेजा जा सकता है।ऑपरेटिंग सिस्टम: Linux, macOS और Windows ऑपरेटिंग सिस्टम के साथ संगत।
जावा डेवलपमेंट किट (JDK): संस्करण 11 या बाद का।
Burp Suite Professional या Community Edition: संस्करण 2023.11.1.3 या बाद का।
[!IMPORTANT] कृपया ध्यान दें कि
2023.3.2से कम किसी भी संस्करण का उपयोग करने पर java.lang.NoSuchMethodError हो सकता है। इस समस्या से बचने के लिए निर्दिष्ट संस्करण या उससे अधिक नए संस्करण का उपयोग करना महत्वपूर्ण है।
संस्करण 8.5 या बाद का (अनुशंसित)। build.gradle फ़ाइल प्रोजेक्ट रिपॉजिटरी में प्रदान की गई है।JAVA_HOME पर्यावरण चर को JDK स्थापना निर्देशिका की ओर इंगित करने के लिए सेट करें।कृपया सुनिश्चित करें कि प्रोजेक्ट को बनाने और चलाने से पहले Burp Suite के संगत संस्करण सहित सभी सिस्टम आवश्यकताएँ पूरी हों। ध्यान दें कि प्रोजेक्ट की बाहरी निर्भरताएँ बिल्ड प्रक्रिया के दौरान Gradle द्वारा स्वचालित रूप से प्रबंधित और स्थापित की जाएंगी। आवश्यकताओं का पालन करने से संभावित समस्याओं से बचने में मदद मिलेगी और प्रोजेक्ट रिपॉजिटरी में नई समस्याएँ खोलने की आवश्यकता कम होगी।
सुनिश्चित करें कि आपने Gradle स्थापित और कॉन्फ़िगर किया है।
openapi-parser रिपॉजिटरी डाउनलोड करें:
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
स्टैंडअलोन jar बनाएँ:
./gradlew fatJar
Burp Suite में एक्सटेंशन लोड करनाBurp Suite में openapi-parser स्थापित करने के लिए, पहले Extensions टैब पर जाएँ और Add बटन पर क्लिक करें। फिर, एक्सटेंशन लोड करने के लिए .\build\libs फ़ोल्डर में स्थित openapi-parser-all jar फ़ाइल चुनें।
वैकल्पिक रूप से, आप संकलन चरण को पूरी तरह से छोड़ सकते हैं और सीधे BApp Store से एक्सटेंशन डाउनलोड कर सकते हैं।
नोट: BApp Store पर वितरित संस्करण इस रिपॉजिटरी पर उपलब्ध संस्करण से पीछे हो सकता है।
OpenAPI स्कीमा की गहन पार्सिंग।RequestWithMetadata के बजाय MyHttpRequest का उपयोग करें।GUI से सीधे API कॉल को बदलने के लिए सेल संपादन सक्षम करें।API-कीज़ के माध्यम से) के लिए समर्थन लागू करें।अतिरिक्त बकाया कार्यों के लिए TODO देखें।
जुलाई 2016 में, PortSwigger सहायता फ़ोरम पर सुधार के लिए एक अनुरोध पोस्ट करने के बाद, मैंने पहल करने और स्वयं एक समाधान लागू करने का निर्णय लिया।
एक्सटेंशन अभी भी विकास में है, इसलिए प्रतिक्रिया, टिप्पणियाँ और योगदान की बहुत सराहना की जाती है।
यदि इस एक्सटेंशन ने सुरक्षा मूल्यांकन के दौरान आपका समय और परेशानी बचाई है, तो डेवलपर के लिए एक कप कॉफी ☕ प्रायोजित करके थोड़ा प्यार दिखाने पर विचार करें। आखिरकार, यही वह ईंधन है जो विकास को शक्ति प्रदान करता है। बस पृष्ठ के शीर्ष पर स्थित चमकीले Sponsor बटन पर क्लिक करें या योगदान करने और कैफीन प्रवाहित रखने के लिए यहाँ क्लिक करें। 💸
क्या आपको कोई बग मिला? खैर, इसे बस रेंगने न दें! आइए इसे एक साथ कुचल दें जैसे दो बग फुसफुसाने वाले! 🐛💪
कृपया किसी भी समस्या की रिपोर्ट GitHub issues ट्रैकर पर करें। साथ मिलकर, हम इस एक्सटेंशन को परमाणु सर्वनाश से बचने वाले तिलचट्टे जितना विश्वसनीय बनाएँगे! 🚀
अपने पागल कोडिंग कौशल से प्रभावित करना चाहते हैं? 💻
बहुत बढ़िया! योगदान का स्वागत है और इसकी बहुत सराहना की जाती है। कृपया सभी PR GitHub पुल रिक्वेस्ट ट्रैकर पर सबमिट करें। साथ मिलकर हम इस एक्सटेंशन को और भी शानदार बना सकते हैं! 🚀
देखें LICENSE।
ScopeOpenAPI Parser)' टैब में देखा जा सकता है।API कॉल को हाइलाइट करने और/या रिपोर्टिंग उद्देश्यों के लिए उन्हें रंग कोड करने की अनुमति देती है।CSV में निर्यात सुविधा शामिल है, जो उपयोगकर्ताओं को आगे के विश्लेषण या रिपोर्टिंग के लिए चयनित API अनुरोधों को CSV प्रारूप में आसानी से निर्यात करने की अनुमति देती है।JSON और YAML दोनों प्रारूपों का समर्थन करता है।Paraminqueryinbody