
Statischer Analyse-Scanner für CVE-2020-11023 XSS-Schwachstellen in JavaScript. Erkennt anfällige jQuery-Versionen und gefährliche DOM-Manipulationsmuster in Webseiten und lokalen Dateien.
Werden Sie vom Gespenst der Cross-Site-Scripting (XSS)-Sicherheitslücken in Ihrem JavaScript-Code heimgesucht? Sorgen Sie sich, dass CVE-2020-11023 Ihre Webanwendungen angreifbar macht? Keine Angst mehr! Der CVE-2020-11023 Scanner ist da, um Ihnen zu helfen, diese lästigen Sicherheitslücken zu finden und zu besiegen!
Dieses schnelle und zuverlässige statische Analyse-Tool wurde entwickelt, um JavaScript-Dateien und Webseiten auf die verräterischen Anzeichen von XSS-Sicherheitslücken zu scannen, insbesondere solche im Zusammenhang mit CVE-2020-11023. Es konzentriert sich auf jQuery-Versionen vor 3.5.0, die bekanntermaßen anfällig sind.
Haftungsausschluss: Denken Sie daran, dieses Tool führt nur statische Analysen durch. Es führt keinen Code aus, daher kann es die Ausnutzbarkeit nicht mit derselben Sicherheit wie eine dynamische Analyse garantieren. Überprüfen Sie die Ergebnisse immer manuell und führen Sie weitere Tests durch, um das tatsächliche Risiko zu bestätigen!
.js-Dateien..html(), .append(), .after(), .before() und .replaceWith(), wenn sie mit potenziell unsicheren Eingaben verwendet werden.window.location, document.cookie und mehr.requests library (pip install requests)beautifulsoup4 library (pip install beautifulsoup4)packaging library (pip install packaging)Klonen Sie dieses Repository:
git clone <your-repository-url>
cd <your-repo-name>
Installieren Sie die Abhängigkeiten:
pip install -r requirements.txt
Kommandozeilenargumente:
--url <URL>: Gibt die Ziel-URL an, die gescannt werden soll.--file <path>: Gibt einen lokalen Datei- oder Verzeichnispfad an, der gescannt werden soll.--deep: Aktiviert Tiefenscan für URLs (rekursives Durchsuchen verlinkter JavaScript-Dateien).Beispiele:
Eine Website scannen (mit Tiefenscan):
python scan.py --url [https://www.example.com](https://www.example.com) --deep
Eine lokale JavaScript-Datei scannen:
python scan.py --file /path/to/your/file.js
Ein lokales Verzeichnis rekursiv scannen:
python scan.py --file /path/to/your/directory
Beispielbericht:
════════════════════════════════════════════════════════════════════════════════════════════
VULNERABILITY SCAN REPORT
CVE-2020-11023
════════════════════════════════════════════════════════════════════════════════════════════
■ [POTENTIAL VULNERABLE] JQUERY_VERSION
Location: [https://www.example.com/](https://www.example.com/)
Line: N/A
Code: Update to >=3.5.0
Details: jQuery 3.4.0 (POTENTIALLY VULNERABLE)
■ [POTENTIAL VULNERABLE] METHOD_APPEND
Location: [https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id](https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id)
Line: 25
Code: element.append(data);
Details: Unsafe variable: data, Direct source: window.location
■ [INFO] JQUERY_VERSION
Location: [https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id](https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id)
Line: N/A
Code: Safe version
Details: jQuery 3.6.0 (SAFE)
🛡️ Empfehlungen
Update jQuery: Wenn eine anfällige jQuery-Version erkannt wird, aktualisieren Sie diese sofort auf die neueste Version (>= 3.5.0).
Sanitize Input: Bereinigen Sie alle benutzerbereitgestellten oder nicht vertrauenswürdigen Daten gründlich, bevor Sie sie mit potenziell gefährlichen DOM-Manipulationsmethoden verwenden. Erwägen Sie die Verwendung von Bibliotheken wie DOMPurify.
Use .text() Wisely: Wenn Sie nur Textinhalte einfügen müssen, verwenden Sie die .text()-Methode anstelle von .html() oder anderen Methoden, die Eingaben als HTML interpretieren könnten.
Manual Review: Überprüfen Sie die Ergebnisse dieses Skripts immer manuell, um das tatsächliche Risiko zu bestimmen und Fehlalarme auszuschließen.
🙌 Mitwirken
Lassen Sie uns gemeinsam die digitale Welt sicherer machen! Ihre Beiträge sind sehr willkommen! Sie können gerne Pull-Requests einreichen oder Issues eröffnen, um die Leistung und Fähigkeiten dieses Skripts zu verbessern.
📄 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.