
डोमेन पुनः-पंजीकरण के माध्यम से अपहरण-योग्य पैकेजों के लिए सभी NPM और Pypi पैकेजों के सभी अनुरक्षकों की जाँच करता है
यह टूल NPM और Python Pypi रजिस्ट्री के हर पैकेज के हर मेंटेनर की जाँच करता है कि क्या उन डोमेन पर कोई अपंजीकृत डोमेन या अपंजीकृत MX रिकॉर्ड हैं। यदि कोई डोमेन अपंजीकृत है, तो आप उस डोमेन को ले सकते हैं और यदि उस खाते में 2-फैक्टर प्रमाणीकरण सक्षम नहीं है तो पासवर्ड रीसेट शुरू कर सकते हैं। इससे आप किसी पैकेज को हाइजैक कर सकते हैं और उसके साथ जो चाहें कर सकते हैं।
कृपया इसे अवैध उद्देश्यों के लिए उपयोग न करें, केवल पैकेजों की जाँच करने और उन्हें बग बाउंटी कार्यक्रमों में जमा करने के लिए उपयोग करें।
मैंने इस बारे में NPM सुरक्षा टीम से संपर्क किया, लेकिन वे इस प्रकार की भेद्यता में रुचि नहीं रखते हैं।
कृपया यह भी ध्यान दें कि API से लौटाए गए मेंटेनर हमेशा वास्तविक मेंटेनर को प्रतिबिंबित नहीं करते हैं, लेकिन अक्सर आप भाग्यशाली हो सकते हैं।
पहले पैकेज इंडेक्स डाउनलोड करें! यह बहुत समय ले सकता है क्योंकि सर्वर बेहद धीमा है (30 मिनट से अधिक लेता है):
wget https://skimdb.npmjs.com/registry/_all_docs
इसके बाद बस टूल को ./hijagger npm के साथ चलाएँ। सभी विकल्प देखने के लिए --help स्विच का उपयोग करें। आउटपुट अपने आप output.txt में भी सहेजा जाता है। पैकेजों की अधिक संख्या के कारण यह टूल संभवतः कई दिनों तक चलेगा।
आउटपुट में हिट्स आसानी से खोजने के लिए, HIT के लिए grep करें। रंग पैकेज की पिछले वर्ष के दौरान डाउनलोड की संख्या पर आधारित है।
यह टूल बहुत सारे DNS और whois अनुरोध करता है, इसलिए मैं सुझाव देता हूँ कि इस टूल को समर्पित सर्वर से चलाएँ ताकि आपका निजी आईपी ब्लॉक होने का जोखिम न रहे।
यह मोड NPM मोड के बिल्कुल समान काम करता है, लेकिन pypi API किसी पैकेज के लिए डाउनलोड की संख्या नहीं लौटाता है। यह डेटा केवल google bigquery के माध्यम से उपलब्ध है, लेकिन यह चीज़ों को काफी जटिल बना देता है, इसलिए Pypi पैकेजों पर डाउनलोड काउंटर और डाउनलोड-आधारित रंग लागू नहीं किए गए हैं।
./hijagger pypi