
Sei perseguitato dallo spettro delle vulnerabilità Cross-Site Scripting (XSS) nascoste nel tuo codice JavaScript? Preoccupato che CVE-2020-11023 lasci le tue applicazioni web esposte ad attacchi? Niente paura! Lo Scanner CVE-2020-11023 è qui per aiutarti a trovare e sconfiggere quelle fastidiose vulnerabilità!
Questo strumento di analisi statica, veloce e affidabile, è progettato per scansionare file JavaScript e pagine web alla ricerca dei segni rivelatori di vulnerabilità XSS, in particolare quelle correlate a CVE-2020-11023. Si concentra sulle versioni di jQuery precedenti alla 3.5.0, note per essere suscettibili.
Disclaimer: Ricorda, questo strumento esegue solo analisi statica. Non esegue alcun codice, quindi non può garantire lo sfruttamento con la stessa certezza dell'analisi dinamica. Rivedi sempre manualmente i risultati ed esegui ulteriori test per confermare il rischio effettivo!
.js..html(), .append(), .after(), .before() e .replaceWith() quando utilizzati con input potenzialmente non sicuri.window.location, document.cookie e altre.requests (pip install requests)beautifulsoup4 (pip install beautifulsoup4)packaging (pip install packaging)Clona questo repository:
git clone <your-repository-url>
cd <your-repo-name>
Installa le dipendenze:
pip install -r requirements.txt
Argomenti da riga di comando:
--url <URL>: Specifica l'URL di destinazione da scansionare.--file <path>: Specifica un percorso locale di file o directory da scansionare.--deep: Abilita la scansione profonda per gli URL (crawling ricorsivo dei file JavaScript collegati).Esempi:
Scansiona un sito web (con scansione profonda):
python scan.py --url [https://www.example.com](https://www.example.com) --deep
Scansiona un file JavaScript locale:
python scan.py --file /path/to/your/file.js
Scansiona una directory locale in modo ricorsivo:
python scan.py --file /path/to/your/directory
Esempio di Report:
════════════════════════════════════════════════════════════════════════════════════════════
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)
🛡️ Raccomandazioni
Aggiorna jQuery: se viene rilevata una versione vulnerabile di jQuery, aggiornala immediatamente all'ultima versione (>= 3.5.0).
Sanifica l'Input: sanifica accuratamente qualsiasi dato fornito dall'utente o non affidabile prima di utilizzarlo con metodi di manipolazione del DOM potenzialmente pericolosi. Prendi in considerazione l'uso di librerie come DOMPurify.
Usa .text() con Saggezza: se devi solo inserire contenuto testuale, usa il metodo .text() invece di .html() o di altri metodi che potrebbero interpretare l'input come HTML.
Revisione Manuale: rivedi sempre manualmente i risultati di questo script per determinare il rischio effettivo ed escludere i falsi positivi.
🙌 Contributi
Rendiamo insieme il mondo digitale più sicuro! I tuoi contributi sono estremamente graditi! Non esitare a inviare pull request o ad aprire issue per migliorare le prestazioni e le capacità di questo script.
📄 Licenza
Questo progetto è concesso in licenza secondo i termini della MIT License.