
Você está assombrado pelo espectro de vulnerabilidades Cross-Site Scripting (XSS) à espreita no seu código JavaScript? Preocupado com o CVE-2020-11023 deixando suas aplicações web abertas a ataques? Não tema mais! O CVE-2020-11023 Scanner está aqui para ajudar você a encontrar e conquistar essas vulnerabilidades irritantes!
Esta ferramenta de análise estática, rápida e confiável, foi projetada para escanear arquivos JavaScript e páginas da web em busca dos sinais reveladores de vulnerabilidades XSS, especialmente aquelas relacionadas ao CVE-2020-11023. Ela se concentra em versões do jQuery anteriores à 3.5.0, que são conhecidas por serem suscetíveis.
Aviso: Lembre-se, esta ferramenta realiza apenas análise estática. Ela não executa nenhum código, portanto não pode garantir a explorabilidade com a mesma certeza da análise dinâmica. Sempre revise manualmente os resultados e realize testes adicionais para confirmar o risco real!
.js..html(), .append(), .after(), .before() e .replaceWith(), quando usados com entradas potencialmente inseguras.window.location, document.cookie e outras.requests (pip install requests)beautifulsoup4 (pip install beautifulsoup4)packaging (pip install packaging)Clone este repositório:
git clone <your-repository-url>
cd <your-repo-name>
Instale as dependências:
pip install -r requirements.txt
Argumentos de linha de comando:
--url <URL>: Especifica a URL alvo para escanear.--file <path>: Especifica um arquivo ou diretório local para escanear.--deep: Ativa a varredura profunda para URLs (rastreamento recursivo de arquivos JavaScript vinculados).Exemplos:
Escanear um site (com varredura profunda):
python scan.py --url [https://www.example.com](https://www.example.com) --deep
Escanear um arquivo JavaScript local:
python scan.py --file /path/to/your/file.js
Escanear um diretório local recursivamente:
python scan.py --file /path/to/your/directory
Exemplo de Relatório:
════════════════════════════════════════════════════════════════════════════════════════════
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)
🛡️ Recomendações
Atualize o jQuery: Se uma versão vulnerável do jQuery for detectada, atualize imediatamente para a versão mais recente (>= 3.5.0).
Saneie a Entrada: Saneie completamente quaisquer dados fornecidos pelo usuário ou não confiáveis antes de usá-los com métodos de manipulação do DOM potencialmente perigosos. Considere usar bibliotecas como DOMPurify.
Use .text() com Sabedoria: Se você só precisar inserir conteúdo de texto, use o método .text() em vez de .html() ou outros métodos que possam interpretar a entrada como HTML.
Revisão Manual: Sempre revise manualmente os resultados deste script para determinar o risco real e descartar falsos positivos.
🙌 Contribuições
Vamos tornar o mundo digital mais seguro juntos! Suas contribuições são muito bem-vindas! Sinta-se à vontade para enviar pull requests ou abrir issues para melhorar o desempenho e os recursos deste script.
📄 Licença
Este projeto está licenciado sob a Licença MIT.