
ein JavaScript-Änderungsüberwachungstool für Bugbounties
JSMon – JavaScript-Änderungsmonitor für Bug Bounty
Mit diesem Skript können Sie eine Reihe von JavaScript-Dateien auf Websites konfigurieren, die Sie überwachen möchten. Jedes Mal, wenn Sie dieses Skript ausführen, werden diese Dateien abgerufen und mit der zuvor abgerufenen Version verglichen. Wenn sie sich geändert haben, werden Sie über Telegram benachrichtigt – mit einer Nachricht, die einen Link zum Skript, die geänderten Dateigrößen und eine Diff-Datei enthält, um die Änderungen einfach zu überprüfen.


Um JSMon zu installieren:
git clone https://github.com/robre/jsmon.git
cd jsmon
python setup.py install
Sie müssen Ihren Slack- oder Telegram-Token in der Umgebung setzen, z.B. durch Erstellen einer .env-Datei:
touch .env
Mit folgendem Inhalt:
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
Um Slack zu aktivieren, kommentieren Sie die Slack-Zeilen in der env-Datei aus und fügen Sie Ihren Token hinzu.
Um ein Cron-Skript zu erstellen, das JSMon regelmäßig ausführt:
crontab -e
erstellen Sie einen Eintrag wie folgt:
@daily /path/to/jsmon.sh
Beachten Sie, dass Sie die .sh-Datei ausführen sollten, da sonst die Umgebung durcheinander gerät.
Dies führt JSMon einmal täglich um Mitternacht aus.
Sie können @daily durch einen beliebigen Zeitplan ersetzen.
Um Telegram-Benachrichtigungen zu konfigurieren, müssen Sie Ihren Telegram-API-Schlüssel und die chat_id zu Beginn von jsmon.py zum Code hinzufügen. Wie Sie diese Werte erhalten, lesen Sie hier.
Hinweis: Für Slack-Unterstützung müssen Sie Ihre Slack-App korrekt einrichten und das Slack-OAuth-Token verwenden. Die App benötigt Datei-Upload-Rechte und muss sich in dem gewünschten Kanal befinden. Schließlich müssen Sie mit einigen Zielen beginnen, die Sie überwachen möchten. Erstellen wir ein Beispiel:
echo "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js" >> targets/cdnjs-example
Alles erledigt! Jetzt können Sie python jsmon.py ausführen, um die angegebenen Dateien zum ersten Mal herunterzuladen!
Endpunkte über Dateien im targets/-Verzeichnis bereitstellen (zeilenweise getrennte Endpunkte)
Jeder Endpunkt wird heruntergeladen und in downloads/ mit seinem Hash als Dateinamen gespeichert (erste 10 Zeichen des MD5-Hashs)
jsmon.json verfolgt, welche Endpunkte mit welchen Datei-Hashes verknüpft sind
jsmon wurde entwickelt, um JavaScript-Dateien auf Websites zu verfolgen – es kann jedoch für jeden Dateityp verwendet werden, um Endpunkte hinzuzufügen
@r0bre – Kern
@Yassineaboukir – Slack-Benachrichtigungen