
أداة مراقبة تغييرات JavaScript لـ bugbounties
JSMon - مراقب تغييرات جافا سكريبت لصيد الثغرات
باستخدام هذا السكريبت، يمكنك تكوين عدد من ملفات جافا سكريبت على مواقع الويب التي ترغب في مراقبتها. في كل مرة تقوم فيها بتشغيل هذا السكريبت، سيتم جلب هذه الملفات ومقارنتها بالإصدار الذي تم جلبه سابقًا. إذا تغيرت، سيتم إعلامك عبر تيليجرام برسالة تحتوي على رابط للسكريبت، وأحجام الملفات المتغيرة، وملف diff لتسهيل فحص التغييرات.


لتثبيت JSMon:
git clone https://github.com/robre/jsmon.git
cd jsmon
python setup.py install
تحتاج إلى إعداد رمز Slack أو Telegram الخاص بك في البيئة، على سبيل المثال عن طريق إنشاء ملف .env:
touch .env
بالمحتوى التالي:
JSMON_NOTIFY_TELEGRAM=True
JSMON_TELEGRAM_TOKEN=رمز تيليجرام الخاص بك
JSMON_TELEGRAM_CHAT_ID=معرف الدردشة الخاص بك في تيليجرام
#JSMON_NOTIFY_SLACK=True
#JSMON_SLACK_TOKEN=sometoken
#JSMON_SLACK_CHANNEL_ID=somechannel
لتفعيل Slack، قم بإلغاء تعليق أسطر Slack في ملف البيئة وأضف رمزك.
لإنشاء سكريبت cron لتشغيل JSMon بانتظام:
crontab -e
أنشئ مدخلة مثل هذه:
@daily /path/to/jsmon.sh
لاحظ أنه يجب عليك تشغيل ملف .sh، لأن البيئة ستتعطل خلاف ذلك.
سيؤدي هذا إلى تشغيل JSMon مرة واحدة يوميًا، عند منتصف الليل.
يمكنك تغيير @daily إلى أي جدول زمني يناسبك.
لتكوين إشعارات Telegram، تحتاج إلى إضافة مفتاح API الخاص بـ Telegram و chat_id إلى الكود، في بداية jsmon.py. يمكنك قراءة كيفية الحصول على هذه القيم هنا.
ملاحظة، لدعم Slack، تحتاج إلى إعداد تطبيق Slack الخاص بك بشكل صحيح واستخدام رمز OAuth الخاص بـ Slack. يجب أن يكون للتطبيق صلاحيات رفع الملفات، ويجب أن يكون في القناة التي تريده فيها. أخيرًا، تحتاج إلى البدء ببعض الأهداف التي تريد مراقبتها. لنقم بإنشاء مثال:
echo "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js" >> targets/cdnjs-example
تم كل شيء! الآن يمكنك تشغيل python jsmon.py لتنزيل الملفات المحددة لأول مرة!
توفير النقاط النهائية عبر ملفات في مجلد targets/ (نقاط نهاية مفصولة بأسطر)
يتم تنزيل كل نقطة نهاية وتخزينها في مجلد downloads/ مع تجزئة الاسم (أول 10 أحرف من تجزئة md5)
يحتفظ ملف jsmon.json بتتبع أي النقاط النهائية مرتبطة بأي تجزئات ملفات
تم تصميم jsmon لتتبع ملفات جافا سكريبت على مواقع الويب - ولكن يمكن استخدامه لأي نوع ملفات لإضافة نقاط نهاية
@r0bre - الأساسيات
@Yassineaboukir - إشعارات Slack