
Extension adds a new tab in Burp Suite called Extractor
Google की GSON लाइब्रेरी Maven से डाउनलोड करें
(http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar)
wget http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar
Burp के Extender/Options/Java Environment में उस फ़ोल्डर को चुनें जहाँ आपने Google की GSON लाइब्रेरी डाउनलोड की है
Burp के Extender/Extensions टैब से एक्सटेंशन जोड़ें। (एक्सटेंशन रीपो के dist फ़ोल्डर में मौजूद jar फ़ाइल है)।
रिपॉजिटरी को क्लोन करें।
Burp के Extender/APIs टैब पर जाकर Save interface files बटन पर क्लिक करके Burp की इंटरफ़ेस फ़ाइलों को एक नए फ़ोल्डर में सहेजें। फिर इन फ़ाइलों को क्लोन की गई रिपॉजिटरी की src/burp निर्देशिका में कॉपी करें।
Google की GSON लाइब्रेरी Maven से डाउनलोड करें
(http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar)
wget http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar
एक्सट्रैक्टर निर्देशिका से:
4. mkdir build
5. javac -cp gson-2.8.2.jar -d build src/burp/*.java
6. jar cf extractor.jar -C build burp
फिर burp के Extender टैब में extractor.jar फ़ाइल लोड करें। (आपको Burp का पथ उस फ़ोल्डर की ओर भी इंगित करना होगा जहाँ आपने GSON लाइब्रेरी संग्रहीत की है: Burp Extender > Options > Java Environment)
इससे Burp में Extractor नाम का एक नया टैब जुड़ जाना चाहिए।

यह एक्सटेंशन Burp Suite में Extractor नाम का एक नया टैब जोड़ता है।
इस टैब के भीतर आप एक ट्री में नोड जोड़ सकते हैं ताकि यह वर्णन किया जा सके कि अनुरोधों या प्रतिक्रियाओं में डेटा कैसा दिखता है। उस ट्री का प्रत्येक लीफ हर उस स्थान पर एक नया टैब बनाएगा जहाँ क्वेरी या प्रतिक्रिया दिखाई जाती है, जिसमें क्वेरी डेटा विशिष्ट लीफ तक के सभी मूल नोड्स के अनुसार रूपांतरित होता है।
उदाहरण के लिए, यदि अनुरोध का बॉडी एक XML पेलोड है जिसमें एक विशिष्ट टैग है जिसमें Base64 एन्कोडेड स्ट्रिंग है, तो ट्री निम्न प्रकार दिखेगा:

उपरोक्त सेटअप के साथ, प्रत्येक अनुरोध और प्रतिक्रिया में अब Body>XML:tag_name>Base64 नाम का एक टैब होता है, उस टैब में अनुरोध के बॉडी के XML टैग tag_name में निहित Base64 डिकोडेड डेटा होना चाहिए। उस टैब में डेटा बदलने से डेटा Base64 एन्कोड हो जाएगा, और उसी XML टैग में वापस डाल दिया जाएगा। अनुरोध के बॉडी में (ताकि आप Proxy/Intercept में अनुरोधों को इंटरसेप्ट करते समय संशोधित कर सकें या Repeater में पेलोड तैयार कर सकें)।
कोई पैरामीटर नहीं।
यह नोड उसे दिए गए डेटा का Base64 डिकोडिंग करता है और जब आप उसके स्तर पर या उसके किसी भी चाइल्ड पर डेटा संशोधित करते हैं तो श्रृंखला के साथ उसे दोबारा एन्कोड करता है।
कोई पैरामीटर नहीं।
यह नोड उसे दिए गए डेटा का मूल URL डिकोडिंग करता है, सावधान रहें कि इस नोड या इसके किसी भी चाइल्ड के भीतर संशोधित डेटा श्रृंखला के साथ दोबारा एन्कोड होने पर भिन्न दिख सकता है क्योंकि केवल अमान्य URL वर्णों को दोबारा एन्कोड किया जाएगा।
कोई पैरामीटर नहीं।
यह नोड उसे दिए गए डेटा को अन-GZip करता है और यदि स्वयं या उसका कोई चाइल्ड संशोधित होता है तो उसे वापस GZip करता है।
कोई पैरामीटर नहीं।
यह नोड उसे दिए गए डेटा को बाइनरी से हेक्साडेसिमल स्ट्रिंग में बदलता है। यदि उसका डेटा या उसके किसी चाइल्ड का डेटा संशोधित होता है तो वह डेटा को हेक्साडेसिमल स्ट्रिंग से वापस बाइनरी में बदल देता है।
कोई पैरामीटर नहीं।
यह नोड उसे दिए गए डेटा को हेक्साडेसिमल स्ट्रिंग से बाइनरी में बदलता है। यदि उसका डेटा या उसके किसी चाइल्ड का डेटा संशोधित होता है तो वह डेटा को बाइनरी से हेक्साडेसिमल स्ट्रिंग में वापस बदल देता है।
एक पैरामीटर:
यह नोड x-www-form-urlencoded प्रकार के एक URL पैरामीटर नोड से डेटा निकालता है। इसे सीधे Header चाइल्ड नोड के रूप में उपयोग किया जा सकता है ताकि अनुरोध के URL से URL पैरामीटर निकाला जा सके, या body चाइल्ड नोड के रूप में यदि बॉडी में केवल URL शैली के पैरामीटर हों, या किसी अन्य नोड के चाइल्ड के रूप में यदि उसमें URL या x-www-form-urlencoded पैरामीटर हों। संशोधित डेटा उसी स्थिति में पैरामीटर में वापस डाला जाएगा।
दो पैरामीटर:
इस नोड का उपयोग multipart/form-data प्रकार के बॉडी पैरामीटर को निकालने के लिए किया जाता है। संशोधित डेटा उसी स्थान पर पैरामीटर में वापस डाला जाएगा।
एक पैरामीटर:
यह नोड एक कुकी से डेटा निकालता है, संशोधित डेटा वापस कुकी में डाला जाएगा। इस नोड का उपयोग Header नोड के प्रत्यक्ष चाइल्ड के रूप में किया जाना चाहिए।
एक पैरामीटर:
यह नोड एक हैडर फ़्लैग की सामग्री निकालता है, संशोधित डेटा वापस फ़्लैग में डाला जाएगा। इस नोड का उपयोग Header नोड के प्रत्यक्ष चाइल्ड के रूप में किया जाना चाहिए।
एक पैरामीटर:
यह नोड पहले XML नोड से मान निकालता है जो XML नोड नाम पैरामीटर से मेल खाता है। संशोधित डेटा उसी नोड के मान में वापस डाला जाएगा।
दो पैरामीटर:
यह नोड पहले XML नोड से पैरामीटर मान निकालता है जो XML नोड नाम से मेल खाता है। संशोधित डेटा उसी नोड के पैरामीटर में वापस डाला जाएगा।
दो पैरामीटर:
यह नोड JSON पेलोड से डेटा निकालता है। केवल उसे दिए गए पेलोड के शीर्ष स्तर का डेटा निकाला जा सकता है; हालाँकि आप JSON ऑब्जेक्ट्स के भीतर एम्बेडेड JSON ऑब्जेक्ट्स को निकालने के लिए इस नोड को अन्य Json नोड्स के साथ श्रृंखलित कर सकते हैं।
एक पैरामीटर:
यह नोड उसे दिए गए डेटा का अपने पैरामीटर के डेटा के साथ AND करता है। नोड को दिया गया डेटा बाइनरी प्रारूप में होना चाहिए (यदि आवश्यक हो तो पहले HextoBin नोड का उपयोग करें)। संशोधित डेटा वापस AND किया जाएगा, हालाँकि, कृपया ध्यान दें कि इस ऑपरेशन का बहुत कम मूल्य है क्योंकि AND ऑपरेटर द्वि-आक्षेपी (bijective) नहीं है (आप यह उम्मीद नहीं कर सकते कि वापस डाला गया डेटा अपने संदर्भ में अर्थपूर्ण होगा)।
एक पैरामीटर:
यह नोड उसे दिए गए डेटा का अपने पैरामीटर के डेटा के साथ OR करता है। नोड को दिया गया डेटा बाइनरी प्रारूप में होना चाहिए (यदि आवश्यक हो तो पहले HextoBin नोड का उपयोग करें)। संशोधित डेटा वापस OR किया जाएगा, हालाँकि, कृपया ध्यान दें कि इस ऑपरेशन का बहुत कम मूल्य है क्योंकि OR ऑपरेटर द्वि-आक्षेपी (bijective) नहीं है (आप यह उम्मीद नहीं कर सकते कि वापस डाला गया डेटा अपने संदर्भ में अर्थपूर्ण होगा)।
एक पैरामीटर:
यह नोड उसे दिए गए डेटा का अपने पैरामीटर के डेटा के साथ XOR करता है। नोड को दिया गया डेटा बाइनरी प्रारूप में होना चाहिए (यदि आवश्यक हो तो पहले HextoBin नोड का उपयोग करें)। संशोधित डेटा वापस XOR किया जाएगा।
कोई पैरामीटर नहीं
यह नोड कोई प्रोसेसिंग नहीं करता: यह केवल उसे दिया गया डेटा प्रदर्शित करता है, यह मुख्य रूप से एक नियंत्रण बिंदु जोड़ने के लिए उपयोगी है ताकि यह जाँचा जा सके कि नोड्स की श्रृंखला के साथ पारित डेटा उस विशिष्ट बिंदु पर सही है जहाँ नोड डाला गया है।
एक पैरामीटर:
यह नोड सामग्री को regex के माध्यम से पारित करेगा और केवल सबमैच निकालेगा, यह किसी अन्य नोड पर पास करने से पहले एक नोड तैयार करने के लिए उपयोगी है।
उदाहरण ==> Callback\\((.*)\\)
आपके पास java में अपने स्वयं के नोड तैयार करने का विकल्प है, कोड में QueryNodeXXX.java नाम की एक नमूना नोड फ़ाइल प्रदान की गई है, बस कॉपी/पेस्ट करें और इसका नाम बदलें और इसके भीतर दिए गए निर्देशों का पालन करें। साथ ही अपने नव निर्मित नोड को Globals.java में सूची के अंत में जोड़ना याद रखें (यदि आप कुछ भी तोड़ना नहीं चाहते हैं तो उस सूची की पहली 2 पंक्तियों को न बदलें)।