
प्रकाशित ClickOnce परिनियोजनों की पहचान के लिए निर्मित Golang खोज इंजन स्क्रेपर
यह टूल Less SmartScreen More Caffeine: ClickOnce (Ab)Use for Trusted Code Execution conference presentation / blog post के साथ संयोजन में जारी किया गया था, जिसे 0xthirteen और मेरे द्वारा प्रस्तुत किया गया।
Golang वेब स्क्रैपर जो chromedp और सामान्य HTTP अनुरोधों दोनों का उपयोग करता है, ताकि प्रकाशित ClickOnce अनुप्रयोगों के लिए खोज इंजनों को स्क्रैप किया जा सके। इसमें AWS API gateway स्रोत IP रोटेशन के लिए समर्थन और समस्या निवारण के लिए HTTP प्रॉक्सी निर्दिष्ट करने की सुविधा शामिल है। Google और Swisscows खोज इंजन वर्तमान में स्क्रैपिंग के लिए समर्थित हैं।
ClickonceHunter की कार्यक्षमता config.yml द्वारा नियंत्रित होती है। वर्तमान में एप्लिकेशन दो मोड में चल सकता है:
awsapigateway फ़ील्ड(फ़ील्डों) में भरेंखोज इंजन अनुरोधों से संबंधित config.yml फ़ाइल में मान निम्नलिखित हैं:
config.yml फ़ाइल में अन्य प्रासंगिक मान निम्नलिखित हैं:
Swisscows स्क्रैपिंग को chromedp प्रोजेक्ट के साथ Chrome DevTools प्रोटोकॉल का उपयोग करके लागू किया गया है। Swisscows खोज इंजन पर किए गए खोजों में CSRF-जैसी अखंडता जाँच शामिल होती है, जो X-Request-Signature और X-Request-Nonce हेडर के रूप में दिखाई देती हैं। प्रत्येक dork अनुरोध के लिए, getSwissSecrets() फ़ंक्शन का उपयोग करके Swisscows लैंडिंग पृष्ठ पर ब्राउज़ करने के लिए एक headless chromium ब्राउज़र का उपयोग किया जाता है, और जब ये हेडर पहचाने जाते हैं तो listenForSwissSecrets() फ़ंक्शन के साथ एक listening event बनाई जाती है। फिर अखंडता जाँच को पारित करने के लिए हमारे dork अनुरोध के लिए हेडर भर दिए जाते हैं।
HTTP प्रॉक्सी विकल्प उपयोगकर्ताओं को इस समस्या का निवारण करने में मदद करने के लिए जोड़ा गया था, यदि/जब लागू किए गए खोज इंजन निस्संदेह अपने प्रतिक्रिया प्रारूप या अनुरोध करने के लिए उपयोग किए जाने वाले API endpoints को बदल देते हैं। PRs आमंत्रित हैं!
की गई खोजों के लिए मल्टीथ्रेडिंग / goroutine समर्थन लागू नहीं किया गया था। प्रकाशित ClickOnce अनुप्रयोगों को खोजने के उद्देश्य के लिए, यह आवश्यक नहीं लगा।