
बगबाउंटी के लिए जावास्क्रिप्ट परिवर्तन निगरानी उपकरण
JSMon - बगबाउंटी के लिए जावास्क्रिप्ट परिवर्तन मॉनिटर
इस स्क्रिप्ट का उपयोग करके, आप उन वेबसाइटों पर कई जावास्क्रिप्ट फ़ाइलों को कॉन्फ़िगर कर सकते हैं जिन्हें आप मॉनिटर करना चाहते हैं। हर बार जब आप यह स्क्रिप्ट चलाते हैं, तो ये फ़ाइलें प्राप्त की जाएंगी और पिछले प्राप्त संस्करण से तुलना की जाएंगी। यदि वे बदल गई हैं, तो आपको टेलीग्राम के माध्यम से सूचित किया जाएगा, जिसमें स्क्रिप्ट का लिंक, बदली हुई फ़ाइल आकार और परिवर्तनों की जांच करने के लिए एक डिफ़ फ़ाइल शामिल होगी।


JSMon स्थापित करने के लिए:
git clone https://github.com/robre/jsmon.git
cd jsmon
python setup.py install
आपको पर्यावरण में अपना स्लैक या टेलीग्राम टोकन सेट करना होगा, उदाहरण के लिए एक .env फ़ाइल बनाकर:
touch .env
सामग्री के साथ:
JSMON_NOTIFY_TELEGRAM=True
JSMON_TELEGRAM_TOKEN=YOUR TELEGRAM TOKEN
JSMON_TELEGRAM_CHAT_ID=YOUR TELEGRAM CHAT ID
#JSMON_NOTIFY_SLACK=True
#JSMON_SLACK_TOKEN=sometoken
#JSMON_SLACK_CHANNEL_ID=somechannel
स्लैक को सक्षम करने के लिए, env में स्लैक लाइनों को अनकमेंट करें और अपना टोकन जोड़ें।
JSMon को नियमित रूप से चलाने के लिए एक क्रॉन स्क्रिप्ट बनाने के लिए:
crontab -e
इस तरह एक एंट्री बनाएं:
@daily /path/to/jsmon.sh
ध्यान दें कि आपको .sh फ़ाइल चलानी चाहिए, अन्यथा पर्यावरण गड़बड़ हो जाएगा।
यह JSMon को दिन में एक बार, मध्यरात्रि में चलाएगा।
आप @daily को अपनी सुविधानुसार किसी भी शेड्यूल में बदल सकते हैं।
टेलीग्राम सूचनाएं कॉन्फ़िगर करने के लिए, आपको jsmon.py की शुरुआत में कोड में अपनी टेलीग्राम API कुंजी और chat_id जोड़नी होगी। आप इन मानों को कैसे प्राप्त करें, यह यहां पढ़ सकते हैं।
नोट, स्लैक समर्थन के लिए, आपको अपने स्लैक ऐप को सही ढंग से सेट करना होगा और स्लैक ओआथ टोकन का उपयोग करना होगा। ऐप में फ़ाइल अपलोड अधिकार होने चाहिए और उसे उस चैनल में होना चाहिए जिसमें आप चाहते हैं.. अंत में, आपको कुछ लक्ष्यों के साथ शुरुआत करनी होगी जिन्हें आप मॉनिटर करना चाहते हैं। आइए एक उदाहरण बनाएं:
echo "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js" >> targets/cdnjs-example
सब हो गया! अब आप निर्दिष्ट फ़ाइलों को पहली बार डाउनलोड करने के लिए python jsmon.py चला सकते हैं!
targets/ निर्देशिका में फ़ाइलों के माध्यम से एंडपॉइंट प्रदान करें (लाइन से अलग किए गए एंडपॉइंट)
प्रत्येक एंडपॉइंट डाउनलोड किया जाता है और downloads/ में उसके हैश के साथ फ़ाइल नाम के रूप में संग्रहीत किया जाता है (md5 हैश के पहले 10 अक्षर)
jsmon.json ट्रैक रखता है कि कौन से एंडपॉइंट किस फ़ाइलहैश से जुड़े हैं
jsmon को वेबसाइटों पर जावास्क्रिप्ट फ़ाइलों पर नज़र रखने के लिए डिज़ाइन किया गया है - लेकिन इसका उपयोग किसी भी फ़ाइल प्रकार के लिए एंडपॉइंट जोड़ने के लिए किया जा सकता है
@r0bre - मुख्य @Yassineaboukir - स्लैक सूचनाएं