
Burp Suite सुरक्षा उपकरण के लिए REST/JSON API
⚠️ चेतावनी: यह प्रोजेक्ट अब सक्रिय रूप से अनुरक्षित (maintained) नहीं है।
जबकि रिपॉज़िटरी संदर्भ के लिए उपलब्ध रहेगी, आगे कोई अपडेट, बग फिक्स या सहायता प्रदान नहीं की जाएगी।
Burp Suite सुरक्षा टूल के लिए एक REST/JSON API।
2016 में पहले कमिट के बाद से, burp-rest-api, BurpSuite-संचालित वेब स्कैनिंग स्वचालन के लिए डिफ़ॉल्ट टूल रहा है। कई सुरक्षा पेशेवरों और संगठनों ने Burp Spider और Scanner के कार्य को व्यवस्थित करने के लिए इस एक्सटेंशन पर भरोसा किया है।
burp-rest-api-2.3.2.jar) डाउनलोड करेंburpsuite_pro.jar का उपयोग नहीं करना चाहिएLinux, Mac पर:
java --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED -cp "burpsuite_pro.jar:burp-rest-api-2.3.2.jar" org.springframework.boot.loader.launch.JarLauncher
Windows पर:
java --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED -cp "burpsuite_pro.jar;burp-rest-api-2.3.2.jar" org.springframework.boot.loader.launch.JarLauncher
महत्वपूर्ण!!!
burp-rest-api पुराने Burp Suite Professional v1.7 और नए Burp Suite Professional v2025.x दोनों का समर्थन करता है। चूँकि यह प्रोजेक्ट Burp Extender API पर निर्भर करता है, कुछ कार्यक्षमताओं का व्यवहार Burp के संस्करण के आधार पर थोड़ा भिन्न हो सकता है। उदाहरण के लिए, v2025.x में Burp Suite Scanner कॉन्फ़िगरेशन अब अनुकूलन योग्य नहीं है.
डिफ़ॉल्ट रूप से, Burp हेडलेस मोड में लॉन्च किया जाता है, जिसमें Proxy पोर्ट 8080/tcp (केवल localhost) पर और REST एंडपॉइंट 8090/tcp (केवल localhost) पर चल रहा होता है।
कमांड लाइन से Burp को UI मोड में चलाने के लिए, निम्नलिखित तर्क जोड़ें:
--headless.mode=false
उस सर्वर पोर्ट को संशोधित करने के लिए जिस पर API सुलभ है, निम्नलिखित तर्क जोड़ें:
--server.port=8081
या
--port=8081
आप नेटवर्क एड्रेस बाइंडिंग के लिए उपयोग किए जाने वाले सर्वर एड्रेस को भी संशोधित कर सकते हैं:
--server.address=192.168.1.2
या
--address=192.168.1.2
निम्नलिखित कमांड लाइन तर्क केवल एक्सटेंशन द्वारा रन मोड और पोर्ट नंबर कॉन्फ़िगर करने के लिए उपयोग किए जाते हैं।
--burp.jar=<filename.jar> : Burp jar को गतिशील रूप से लोड करता है, और इसे REST APIs के माध्यम से एक्सपोज़ करता है। यह फ़्लैग केवल Java <= 1.8 पर काम करता है! नए Java संस्करणों के लिए burp-rest-api.{sh,bat} स्क्रिप्ट का उपयोग करें।
--burp.ext=<filename.{jar,rb,py} : एप्लिकेशन स्टार्टअप के दौरान दिए गए Burp एक्सटेंशन को लोड करता है। यह फ़्लैग दोहराया जा सकता है।
--server.port=<port_number> : REST API एंडपॉइंट दिए गए पोर्ट नंबर पर उपलब्ध होता है। --port=<port_number>
शॉर्ट हैंड तर्क के रूप में काम करता है।
--server.address=<network address> : वह नेटवर्क एड्रेस जिससे REST API एंडपॉइंट को बाइंड होना चाहिए। --address=<address_ip>
शॉर्ट हैंड तर्क के रूप में काम करता है।
--apikey=<customApiKey> : API कुंजी प्रमाणीकरण सक्षम करता है ताकि /burp/* पर APIs सुरक्षित रहें। customApiKey, यदि तर्क के रूप में पारित किया जाता है, तो इसे हर HTTP अनुरोध में एक अतिरिक्त हेडर के रूप में शामिल किया जाना चाहिए: "API-KEY: <customApiKey>"।
--headless.mode=<true/false> : false पर सेट करने पर, Burp Suite को UI मोड में चलाता है। अन्यथा Burp Suite को हेडलेस मोड में
चलाता है। डिफ़ॉल्ट मान: सिस्टम प्रॉपर्टी (java.awt.headless)
निष्पादन योग्य burp-rest-api JAR में पारित किए गए कमांड लाइन तर्क Burp Suite JAR को अग्रेषित कर दिए जाते हैं। इसलिए, कोई भी निम्नलिखित Burp Suite JAR कमांड लाइन तर्कों को burp-rest-api JAR में उसी कार्यक्षमता के लिए पारित कर सकता है, जैसे कि सीधे Burp Suite JAR को पारित किया जा रहा हो।
--project-file=<filename> : टूल की स्थिति बनाए रखने के लिए उपयोग की जाने वाली निर्दिष्ट Data Project File खोलता है। यदि फ़ाइल पहले से मौजूद नहीं है,
तो इसे एक नए प्रोजेक्ट के रूप में बनाया जाएगा।
--config-file=<filename> : चयनित Project Configuration File में निहित विकल्पों का उपयोग करके प्रोजेक्ट खोलता है। कई प्रोजेक्ट कॉन्फ़िगरेशन लोड करने के लिए, इस तर्क को विभिन्न मानों के साथ एक से अधिक बार पारित किया जा सकता है।
--user-config-file=<filename> : चयनित User Configuration File में निहित विकल्पों का उपयोग करके प्रोजेक्ट खोलता है। कई उपयोगकर्ता कॉन्फ़िगरेशन लोड करने के लिए, इस तर्क को विभिन्न मानों के साथ एक से अधिक बार पारित किया जा सकता है।
Projects के बारे में अधिक जानकारी के लिए, Burp Suite दस्तावेज़ यहाँ और यहाँ देखें। स्कैनर सेटिंग्स के लिए, कृपया "Burp Suite समर्थन और सीमाएँ" अनुभाग देखें।
यदि burp-rest-api JAR को --project-file, --config-file या --user-config-file तर्कों के बिना लॉन्च किया जाता है, तो Burp Suite को
एक अस्थायी प्रोजेक्ट फ़ाइल और कुछ डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ लॉन्च किया जाता है। अस्थायी प्रोजेक्ट फ़ाइल Burp Suite के
लॉन्च होने पर बनाई जाती है, और रन के अंत में हटा दी जाती है।
Burp Suite लॉन्च करने के लिए उपयोग किए गए डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए, कृपया JAR के भीतर static फ़ोल्डर के अंतर्गत burp-default-project-options.json और burp-default-user-options.json फ़ाइलों को देखें।
Swagger का उपयोग API दस्तावेज़ को परिभाषित करने के लिए किया जाता है। JAR लॉन्च होने के बाद, API दस्तावेज़ और Swagger UI के लिए निम्नलिखित संसाधनों तक पहुँचें। पोर्ट 8090 डिफ़ॉल्ट सर्वर पोर्ट है।
API दस्तावेज़: http://localhost:8090/v3/api-docs
Swagger UI: http://localhost:8090/swagger-ui/index.html#
यह प्रोजेक्ट अन्य प्रोजेक्ट्स में उपयोग के लिए Java में लिखे गए एक क्लाइंट (BurpClient.java) के साथ आता है। BurpClient.java के उपयोग के लिए इंटीग्रेशन टेस्ट फ़ाइल BurpClientIT.java देखें।
यह प्रोजेक्ट मूल रूप से Resty-Burp से प्रेरित है, और Doyensec LLC के साथ साझेदारी में विकसित किया गया है।
burp-rest-api प्रोजेक्ट टीम समुदाय से योगदान का स्वागत करती है। यदि आप कोड योगदान करना चाहते हैं और आपने हमारे योगदानकर्ता लाइसेंस समझौते (CLA) पर हस्ताक्षर नहीं किए हैं, तो जब आप Pull Request खोलेंगे तो हमारा बॉट मुद्दे को अपडेट कर देगा। CLA प्रक्रिया के बारे में किसी भी प्रश्न के लिए, कृपया हमारा CLA FAQ देखें। अधिक विस्तृत जानकारी के लिए, CONTRIBUTING.md और FAQ.md देखें।
निम्नलिखित अनुभाग में एक्सटेंशन के विकास के साथ आरंभ करने के लिए उपयोगी जानकारी है।
lib फ़ोल्डर बनाएं और उसमें Burp Suite JAR फ़ाइल रखें, और इंटीग्रेशन टेस्ट चलाने के लिए इसे "burpsuite_pro.jar" नाम दें # build the jar
./gradlew clean build
यदि आप एक्सटेंशन को JVM के हाल के (JRE > 9) संस्करणों पर चलाना चाहते हैं, तो burpsuite_pro.jar और burp-rest-api.jar को स्क्रिप्ट की उसी निर्देशिका में कॉपी करने के बाद burp-rest-api-devel.{sh,bat} लॉन्चर स्क्रिप्ट का उपयोग करें।
# On Unix (Linux, macOS)
./burp-rest-api-devel.sh
# On Windows
./burp-rest-api-devel.bat
Copyright (c) 2016 VMware, Inc. सर्वाधिकार सुरक्षित। Copyright (c) 2025 Doyensec LLC. सर्वाधिकार सुरक्षित।
स्रोत और बाइनरी रूपों में पुनर्वितरण और उपयोग, संशोधन के साथ या बिना, अनुमत हैं बशर्ते कि निम्नलिखित शर्तें पूरी हों: स्रोत कोड के पुनर्वितरण में उपरोक्त कॉपीराइट नोटिस, शर्तों की यह सूची और निम्नलिखित अस्वीकरण शामिल रहना चाहिए। बाइनरी रूप में पुनर्वितरण को उपरोक्त कॉपीराइट नोटिस, शर्तों की यह सूची और निम्नलिखित अस्वीकरण को उन दस्तावेज़ों और/या अन्य सामग्रियों में पुन: प्रस्तुत करना होगा जो वितरण के साथ प्रदान की जाती हैं।
यह सॉफ़्टवेयर कॉपीराइट धारकों और योगदानकर्ताओं द्वारा "जैसा है" (AS IS) प्रदान किया जाता है, और कोई भी स्पष्ट या निहित वारंटी, जिसमें व्यापारिकता (MERCHANTABILITY) और किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटी शामिल है, लेकिन यह इन्हीं तक सीमित नहीं है, अस्वीकृत की जाती है। किसी भी स्थिति में कॉपीराइट धारक या योगदानकर्ता किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, या परिणामी क्षति (जिसमें वैकल्पिक वस्तुओं या सेवाओं की खरीद शामिल है, लेकिन इन्हीं तक सीमित नहीं है ; उपयोग, डेटा, या लाभ की हानि; या व्यवधान) के लिए उत्तरदायी नहीं होंगे, चाहे वह किसी भी कारण से हुआ हो और किसी भी देयता सिद्धांत पर, चाहे वह अनुबंध, कठोर देयता, या अपकृत्य (लापरवाही सहित) में हो, इस सॉफ़्टवेयर के उपयोग से किसी भी तरह से उत्पन्न हो, भले ही ऐसी क्षति की संभावना के बारे में सलाह दी गई हो।