
htcap एक वेब एप्लिकेशन स्कैनर है जो ajax कॉल और DOM परिवर्तनों को इंटरसेप्ट करके सिंगल पेज एप्लिकेशन (SPA) को पुनरावर्ती रूप से क्रॉल करने में सक्षम है।
htcap एक वेब एप्लिकेशन स्कैनर है जो एकल पृष्ठ अनुप्रयोग (SPA) को पुनरावर्ती रूप से क्रॉल करने में सक्षम है, ajax कॉल और DOM परिवर्तनों को इंटरसेप्ट करके।
Htcap कोई सामान्य भेद्यता स्कैनर नहीं है, क्योंकि यह क्रॉलिंग प्रक्रिया पर केंद्रित है और इसका उद्देश्य ajax/fetch कॉल, वेबसॉकेट, jsonp आदि का पता लगाना और इंटरसेप्ट करना है। यह अपने स्वयं के फ़ज़र्स और भेद्यताओं की खोज के लिए बाहरी उपकरणों के एक सेट का उपयोग करता है, और इसे आधुनिक वेब अनुप्रयोगों के मैनुअल और स्वचालित पेनिट्रेशन परीक्षण दोनों के लिए एक उपकरण के रूप में डिज़ाइन किया गया है।
इसमें 60 पंक्तियों से कम पायथन में कस्टम फ़ज़र्स को तेज़ी से विकसित करने के लिए एक छोटा लेकिन शक्तिशाली फ्रेमवर्क भी है। फ़ज़र्स GET/POST डेटा, XML और JSON पेलोड के साथ काम कर सकते हैं और POST और GET के बीच स्विच कर सकते हैं। बेशक, फ़ज़र्स मल्टी-थ्रेडेड वातावरण में समानांतर चलते हैं।
यह पहला रिलीज़ है जो phantomjs के बजाय हेडलेस क्रोम का उपयोग करता है। Htcap के जावास्क्रिप्ट क्रॉलिंग इंजन को ecmascript की नई async/await सुविधाओं का लाभ उठाने के लिए फिर से लिखा गया है और इसे Puppetteer के ऊपर बने एक nodjes मॉड्यूल में बदल दिया गया है।
अधिक जानकारी यहाँ पर।
नीचे दिया गया वीडियो htcap को gmail क्रॉल करते हुए दिखाता है।
क्रॉल कई घंटों तक चला और लगभग 3000 XHR अनुरोध कैप्चर किए गए।
आवश्यकताएँ स्थापित करें और निम्नलिखित चलाएँ:
$ git clone https://github.com/fcavallarin/htcap.git htcap
$ htcap/htcap.py
डॉकर स्थापित करें और निम्नलिखित चलाएँ:
$ git clone https://github.com/fcavallarin/htcap.git htcap
$ cd htcap
$ docker build -t htcap --build-arg HTCAP_VERSION=master . # replace master by the desired htcap commit hash or branch
$ mkdir -p htcap-out && docker run -v "$(pwd)/htcap-out/":/out/ --rm --name htcap htcap
$ docker exec -it htcap bash
$ htcap # now you can use htcap in the Docker container
आप डॉकर कंटेनर के अंदर से डॉकर होस्ट पर सुन रही सेवाओं को होस्टनाम host.docker.internal का उपयोग करके एक्सेस कर सकते हैं।
host.docker.internal के लिए IP प्राप्त करने के लिए, डॉकर कंटेनर के अंदर निम्नलिखित कमांड चलाएँ:
getent hosts host.docker.internal | awk '{print $1;}'
दस्तावेज़ीकरण, उदाहरण और डेमो यहाँ पाए जा सकते हैं।
यह प्रोग्राम मुफ़्त सॉफ़्टवेयर है; आप इसे फ्री सॉफ्टवेयर फाउंडेशन द्वारा प्रकाशित GNU जनरल पब्लिक लाइसेंस की शर्तों के तहत पुनर्वितरित और/या संशोधित कर सकते हैं; लाइसेंस के संस्करण 2 या (आपकी पसंद के अनुसार) किसी भी बाद के संस्करण के तहत।