
Packer Fuzzer एक तेज़ और कुशल स्कैनर है जो वेबपैक जैसे जावास्क्रिप्ट मॉड्यूल बंडलर द्वारा निर्मित वेबसाइटों की सुरक्षा जाँच के लिए है।
Packer Fuzzer उपकरण (इसके बाद "इस उपकरण" कहा जाएगा) द्वारा प्रदान की गई पहचान सुविधाओं के प्रसार या उपयोग के कारण होने वाले किसी भी प्रत्यक्ष या अप्रत्यक्ष परिणाम और हानि के लिए उपयोगकर्ता स्वयं जिम्मेदार होगा, और Packer Fuzzer विकास टीम (इसके बाद "हमारी टीम" कहा जाएगा) किसी भी जिम्मेदारी को स्वीकार नहीं करती।
यह उपकरण स्वचालित रूप से उपयोगकर्ता के पहचान परिणामों के आधार पर एक स्कैन रिपोर्ट उत्पन्न करेगा। यह रिपोर्ट सामग्री और इससे प्राप्त कोई भी अन्य सामग्री हमारी टीम के दृष्टिकोण या स्थिति का प्रतिनिधित्व नहीं करती।
कृपया इस उपकरण का उपयोग करते समय उपयोगकर्ता और लक्ष्य प्रणाली के देश के प्रासंगिक कानूनों और विनियमों का पालन करें। कोई भी अनधिकृत परीक्षण अनुमति योग्य नहीं है। यदि कोई संबंधित अवैध गतिविधि होती है, तो हम आपके कानूनी दायित्वों को लागू करने का अधिकार सुरक्षित रखते हैं और संबंधित संस्थानों के साथ पूर्ण सहयोग करेंगे।
वेब फ्रंट-एंड बंडलिंग टूल्स के लोकप्रिय होने के साथ, क्या आप दैनिक पैठ परीक्षण और सुरक्षा सेवाओं में अधिक से अधिक वेबसाइटों का सामना करते हैं जो Webpack बंडलर का उपयोग करती हैं? ऐसे बंडलर पूरी साइट के API और API पैरामीटर को एक साथ पैकेज करते हैं ताकि वेब द्वारा केंद्रीय रूप से कॉल किया जा सके। यह हमें साइट की कार्यक्षमता और API सूची को जल्दी से खोजने में मदद करता है। लेकिन अक्सर इन बंडलरों द्वारा उत्पन्न JS फ़ाइलों की संख्या और कुल JS कोड की मात्रा बहुत अधिक होती है (हज़ारों पंक्तियाँ), जो मैन्युअल परीक्षण को अत्यधिक कठिन बना देती है। Packer Fuzzer सॉफ़्टवेयर इसी आवश्यकता से बनाया गया है।
यह उपकरण लक्ष्य साइट के API और API पैरामीटर को स्वचालित रूप से निकालने के लिए फ़ज़िंग का समर्थन करता है, और सात प्रमुख कमजोरियों के लिए तेज़ और कुशल पहचान का समर्थन करता है: अनधिकृत पहुँच, संवेदनशील जानकारी का रिसाव, CORS, SQL इंजेक्शन, क्षैतिज विशेषाधिकार वृद्धि, कमज़ोर पासवर्ड, और मनमाना फ़ाइल अपलोड। स्कैन समाप्त होने के बाद, यह उपकरण स्वचालित रूप से स्कैन रिपोर्ट उत्पन्न करता है। आप विश्लेषण के लिए HTML संस्करण, और अधिक औपचारिक doc, pdf, txt संस्करण चुन सकते हैं।
आपको अंतर्राष्ट्रीयकरण के कारण भाषा संबंधी समस्याओं के बारे में चिंता करने की आवश्यकता नहीं है। यह उपकरण पाँच प्रमुख भाषा पैकेज (रिपोर्ट टेम्पलेट सहित) के साथ आता है: सरलीकृत चीनी, फ्रेंच, स्पेनिश, अंग्रेज़ी, जापानी (अनुवाद सटीकता के क्रम में), जो हमारी बहुत गैर- पेशेवर टीम द्वारा अनुवादित हैं।
नोट: वर्तमान में पहला संस्करण केवल Webpack बंडलर के नियमों के लिए अनुकूलित है। अन्य बंडलरों के नियम जल्द ही आने वाले हैं।
यह उपकरण Python3 भाषा में विकसित है। इसे चलाने से पहले सुनिश्चित करें कि आपके पास Python3.X सॉफ़्टवेयर और pip3 सॉफ़्टवेयर स्थापित हैं। यदि आपने संबंधित वातावरण स्थापित नहीं किया है, तो निम्नलिखित गाइड का पालन करें: https://www.runoob.com/python3/python3-install.html
MacOS उपयोगकर्ता निम्नलिखित कमांड का उपयोग करके जल्दी से स्थापित कर सकते हैं:
brew install python3 # pip3 स्वचालित रूप से स्थापित हो जाएगा
Ubuntu उपयोगकर्ता निम्नलिखित कमांड का उपयोग करके जल्दी से स्थापित कर सकते हैं:
sudo apt-get install -y python3 && sudo apt install -y python3-pip
CentOS उपयोगकर्ता निम्नलिखित कमांड का उपयोग करके जल्दी से स्थापित कर सकते हैं:
sudo yum -y install epel-release && sudo yum install python3 && yum install -y python3-setuptools && easy_install pip
यह उपकरण node_vm2 के माध्यम से मूल NodeJS कोड चलाएगा, इसलिए हम NodeJS वातावरण स्थापित करने की अनुशंसा करते हैं (अन्य JS रनटाइम वातावरण अनुशंसित नहीं हैं, क्योंकि इससे पार्सिंग विफल हो सकती है)। यदि आपने संबंधित वातावरण स्थापित नहीं किया है, तो निम्नलिखित गाइड का पालन करें: https://www.runoob.com/nodejs/nodejs-install-setup.html
आप python3 PackerFuzzer.py [options] कमांड का उपयोग करके इस उपकरण को चला सकते हैं। options का विवरण इस प्रकार है:
-h (--help)
सहायता कमांड, बिना अतिरिक्त पैरामीटर के, इस उपकरण द्वारा समर्थित सभी पैरामीटर और उनके संक्षिप्त विवरण देखें;
-u (--url)
स्कैन की जाने वाली वेबसाइट का URL पथ, अनिवार्य विकल्प, उदाहरण: -u https://demo.poc-sir.com;
-c (--cookie)
अतिरिक्त कुकीज़ सामग्री, वैकल्पिक, यदि भरा जाता है तो वैश्विक रूप से पास किया जाएगा, उदाहरण: -c "POC=666;SIR=233";
-d (--head)
अतिरिक्त HTTP हेडर सामग्री, वैकल्पिक, यदि भरा जाता है तो वैश्विक रूप से पास किया जाएगा, डिफ़ॉल्ट Cache-Control:no-cache, उदाहरण: -d "Token:3VHJ32HF0";
-l (--lang)
भाषा विकल्प, जब खाली हो तो स्वचालित रूप से सिस्टम की संबंधित भाषा चुनें, यदि कोई संबंधित भाषा पैकेज नहीं है तो स्वचालित रूप से अंग्रेज़ी इंटरफ़ेस पर स्विच करें। उपलब्ध भाषा पैकेज: सरलीकृत चीनी (zh), फ्रेंच (fr), स्पेनिश (es), अंग्रेज़ी (en), जापानी (ja), उदाहरण: -l zh;
-t (--type)
बेसिक और एडवांस्ड संस्करण में विभाजित, जब खाली हो तो डिफ़ॉल्ट रूप से बेसिक संस्करण का उपयोग करें। एडवांस्ड संस्करण सभी API को पुनः स्कैन करेगा और API के लिए पैरामीटर निकालने के लिए फ़ज़िंग करेगा, और SQL इंजेक्शन, क्षैतिज विशेषाधिकार वृद्धि, कमज़ोर पासवर्ड, और मनमाना फ़ाइल अपलोड कमजोरियों का पता लगाएगा। एडवांस्ड संस्करण में प्रवेश करने के लिए adv विकल्प का उपयोग करें, उदाहरण: -t adv;
-p (--proxy)
वैश्विक प्रॉक्सी, वैकल्पिक, यदि भरा जाता है तो वैश्विक रूप से प्रॉक्सी IP का उपयोग करें, उदाहरण: -p https://hack.cool:8080;
.db में समाप्त होने वाली Sqlite डेटाबेस फ़ाइल पा सकते हैं। जब आप इसे खोलते हैं, तो आप देख सकते हैं कि संबंधित प्रोजेक्ट के सभी वास्तविक समय के परिणाम इस डेटाबेस में सहेजे गए हैं। आप सीधे कैश डेटाबेस के माध्यम से वर्तमान स्कैन परिणामों का विश्लेषण कर सकते हैं;baseurl का उपयोग करें। baseurl खोजना मुश्किल नहीं है, आपको बस लक्ष्य साइट पर किसी भी API को ट्रिगर करना होगा और गायब भाग का निरीक्षण करना होगा;--ah (--apihost) कमांड का उपयोग करके API सर्वर पता अनुकूलित कर सकते हैं;व्यवस्थापक के रूप में चलाएँ का चयन कर सकते हैं। Linux/Mac पर भी अनुमति संबंधी समस्याओं पर ध्यान दें, sudo कमांड का उपयोग करने की अनुशंसा की जाती है।आप सीधे Github रिपॉजिटरी में ISSUE सबमिट कर सकते हैं: https://github.com/rtcatc/Packer-Fuzzer/issues
यदि आपको लगता है कि विशिष्ट लक्ष्य सार्वजनिक रूप से साझा करना उचित नहीं है, तो आप हमें ईमेल भेज सकते हैं: admin[at]hackinn.com
सबमिट करते समय, हमारे मूल्यांकन में मदद करने के लिए, कृपया logs निर्देशिका में संबंधित लॉग फ़ाइल संलग्न करें, आपके सहयोग के लिए धन्यवाद!
इसके साथ ही, आप बाएं कोने में क्यूआर कोड को स्कैन करके हमारे WeChat चर्चा समूह में शामिल हो सकते हैं (WeChat प्रतिबंधों के कारण, यह तरीका वर्तमान में उपलब्ध नहीं है), या आप दाईं ओर "天下大木头(KpLi0rn)" के व्यक्तिगत क्यूआर कोड को स्कैन कर सकते हैं और "Packer Fuzzer" नोट कर सकते हैं, वे आपको समूह में जोड़ देंगे:
Poc Sir
KpLi0rn
Liucy
RachesseHS
v1.0 2020/09/30
v1.1 2020/11/21
कुछ Windows सिस्टम के तहत संगतता समस्याएं ठीक की गईं;
वैश्विक प्रमाणपत्र सत्यापन अनदेखा करने वाले भाग में सुधार किया गया;
कई बग ठीक किए गए जो स्कैनर में गंभीर त्रुटियां पैदा कर सकते थे।
v1.2 2021/01/21
फ्रंट-एंड बंडलर पहचान सुविधा और संपत्ति वृक्ष प्रदर्शन सुविधा जोड़ी गई;
अतुल्यकालिक निष्कर्षण नियमों को अनुकूलित किया गया और दो नए प्रकार के API पहचान नियम जोड़े गए;
रिपोर्ट और डेटाबेस के सही ढंग से उत्पन्न न होने के बग को ठीक किया गया;
मौन मोड जोड़ा गया, जो बैच परीक्षण या बहु-प्लेटफ़ॉर्म एकीकरण के लिए सुविधाजनक है;
एक आपातकालीन बग ठीक किया गया जो मनमाना कमांड निष्पादन का कारण बन सकता था।
v1.3 2021/04/23
कई बग ठीक किए गए जो पहचान में असामान्यता पैदा कर सकते थे;
PyExecJS को अपेक्षाकृत सुरक्षित node_vm2 से बदल दिया गया;
टर्मिनल प्रदर्शन इंटरफ़ेस को अनुकूलित किया गया और नई इंटरैक्टिव संकेत जोड़े गए;
BaseDir की प्रसंस्करण विधि को अधिक मानव-अनुकूल बनाने के लिए अनुकूलित किया गया।
v1.4 2022/06/19
कई बग ठीक किए गए जो स्कैनर के असामान्य संचालन का कारण बन सकते थे;
अप्रचलित python एक्सटेंशन सामग्री हटाई गई;
HTML रिपोर्ट को अनुकूलित किया गया, अब API वापसी सामग्री की लंबाई प्रदर्शित की जा सकती है और क्रमबद्ध किया जा सकता है;
POST और GET अनुरोध स्विचिंग तंत्र जोड़ा गया;
Content-Type हेडर की अनुकूलन सुविधा जोड़ी गई;
POST अनुरोध के दौरान डेटा सामग्री को अनुकूलित करने की सुविधा जोड़ी गई;
कस्टम API सर्वर पता जोड़ने की सुविधा जोड़ी गई।
MacOS उपयोगकर्ता निम्नलिखित कमांड का उपयोग करके जल्दी से स्थापित कर सकते हैं:
brew install node
Ubuntu उपयोगकर्ता निम्नलिखित कमांड का उपयोग करके जल्दी से स्थापित कर सकते हैं:
sudo apt-get install nodejs && sudo apt-get install npm
CentOS उपयोगकर्ता निम्नलिखित कमांड का उपयोग करके जल्दी से स्थापित कर सकते हैं:
sudo yum -y install nodejs
निम्नलिखित कमांड का उपयोग करके एक क्लिक में इस उपकरण के लिए आवश्यक Python रनटाइम लाइब्रेरी स्थापित करें:
pip3 install -r requirements.txt
-j (--js)
अतिरिक्त JS फ़ाइलें, वैकल्पिक, जब आपको लगता है कि इस उपकरण द्वारा विश्लेषण करने के लिए और JS फ़ाइलें हैं, तो इस विकल्प का उपयोग करें, उदाहरण: -j https://demo.poc-sir.com/js/index.js,https://demo.poc-sir.com/js/vue.js;
-b (--base)
API के मध्य भाग को निर्दिष्ट करें (उदाहरण के लिए, यदि कोई API है: https://demo.poc-sir.com/v1_api/login, तो इसका basedir है: v1_api), वैकल्पिक, जब आपको लगता है कि उपकरण द्वारा स्वचालित रूप से निकाला गया basedir सटीक नहीं है, तो इस विकल्प का उपयोग करें, उदाहरण: -b v1_api;
-r (--report)
उत्पन्न की जाने वाली रिपोर्ट का प्रारूप निर्दिष्ट करें, जब खाली हो तो डिफ़ॉल्ट रूप से HTML और DOC प्रारूप में रिपोर्ट उत्पन्न करें। उपलब्ध रिपोर्ट प्रारूप: html, doc, pdf, txt, उदाहरण: -r html,pdf;
-e (--ext)
क्या एक्सटेंशन प्लगइन विकल्प सक्षम करना है, यह उपकरण उपयोगकर्ताओं को अपने स्वयं के प्लगइन लिखने और ext निर्देशिका में संग्रहीत करने का समर्थन करता है (कैसे लिखें, कृपया संबंधित निर्देशिका में demo.py फ़ाइल देखें)। डिफ़ॉल्ट रूप से बंद, जब उपयोगकर्ता on कमांड से सक्षम करता है, तो उपकरण स्वचालित रूप से संबंधित निर्देशिका में प्लगइन निष्पादित करेगा, उदाहरण: -e on;
-f (--flag)
SSL कनेक्शन सुरक्षा विकल्प, जब खाली हो तो डिफ़ॉल्ट रूप से बंद, इस स्थिति में सभी असुरक्षित कनेक्शन अवरुद्ध हो जाएंगे। यदि आप SSL सुरक्षा स्थिति को अनदेखा करना चाहते हैं, तो आप 1 कमांड से सक्षम कर सकते हैं, जो सभी प्रमाणपत्र त्रुटियों को अनदेखा करेगा, उदाहरण: -f 1;
-s (--silent)
मौन विकल्प, एक बार सक्षम होने पर सभी YES या NO प्रश्नों के उत्तर स्वचालित रूप से YES पर सेट हो जाएंगे, और पैरामीटर के बाद की सामग्री इस स्कैन रिपोर्ट का नाम (कस्टम रिपोर्ट नाम) होगी, जिसका उपयोग मानव रहित, बैच ऑपरेशन, प्लगइन कॉल आदि मोड में किया जा सकता है, उदाहरण: -s Scan_Task_777।
--st (--sendtype)
अनुरोध विधि विकल्प, वर्तमान में यह विकल्प POST और GET पैरामीटर का समर्थन करता है, एक बार सक्षम होने पर संबंधित अनुरोध विधि का उपयोग करके सभी API को स्कैन करेगा, यदि सक्षम नहीं है तो HTTP स्थिति कोड के माध्यम से बुद्धिमान अनुरोध करेगा।
--ct (--contenttype)
Content-Type विकल्प, इस विकल्प के माध्यम से स्कैन करते समय HTTP अनुरोध हेडर में Content-Type पैरामीटर की सामग्री को अनुकूलित कर सकते हैं, यदि सक्षम नहीं है तो HTTP स्थिति कोड के माध्यम से बुद्धिमान अनुरोध करेगा।
--pd (--postdata)
POST सामग्री विकल्प, इस विकल्प के माध्यम से स्कैन करते समय POST अनुरोध की सामग्री को अनुकूलित कर सकते हैं (सभी स्कैन इस सामग्री का उपयोग करेंगे, केवल POST परिदृश्यों पर लागू होता है), यदि सक्षम नहीं है तो HTTP स्थिति कोड के माध्यम से बुद्धिमान अनुरोध करेगा।
--ah (--apihost)
API डोमेन विकल्प, इस विकल्प के माध्यम से स्कैन करते समय सभी API अनुरोधों के डोमेन को अनुकूलित कर सकते हैं, उदाहरण के लिए: API भाग (JS से निकाला गया API पथ) /v1/info है, स्कैन किया जाने वाला URL (-u --url पैरामीटर से इनपुट, स्कैन किया जाने वाला वेबपेज) http://exp.com/ है, और जब apihost पैरामीटर में https://pocsir.com:777/ इनपुट किया जाता है, तो API https://pocsir.com:777/v1/info होगा, न कि http://exp.com/v1/info, यह API और फ्रंट-एंड के विभिन्न डोमेन या सर्वर परिदृश्यों के लिए है।
--fe (--fileext)
API एक्सटेंशन विकल्प, इस विकल्प के माध्यम से सभी API में एक विशिष्ट एक्सटेंशन जोड़ सकते हैं, ताकि API निकालते समय एक्सटेंशन निकालने में कमी होने पर सामना किया जा सके, उदाहरण के लिए: जब निकाला गया API https://pocsir.com:777/v1/info है, तो --fe .json इनपुट करने पर उपकरण स्वचालित रूप से API को https://pocsir.com:777/v1/info.json में रूपांतरित करके स्कैन और पहचान करेगा।