
Scanner di sicurezza web basato su Python che analizza le intestazioni HTTP, SSL/TLS, i record DNS e le configurazioni errate comuni per generare un report di sicurezza con punteggio e raccomandazioni attuabili.
EasyScan è uno script Python che analizza la sicurezza di un dato sito web ispezionando le sue intestazioni HTTP, record DNS e altre configurazioni. Lo script genera un report di sicurezza con un punteggio, un voto e raccomandazioni per affrontare potenziali vulnerabilità.
Lo script copre i seguenti casi di test:
Referrer-Policy e il meta tag./admin, /wp-admin, /phpmyadmin, /cpanel)./images, /uploads, /files, ecc.) per elenchi di directory esposti.Set-Cookie per gli attributi Secure, HttpOnly, SameSite e i prefissi __Secure-/__Host-.Server, X-Powered-By, X-AspNet-Version.Access-Control-Allow-Origin non sicure e conflitti tra wildcard e credenziali.Content-Type mancante.robots.txt per percorsi disabilitati potenzialmente sensibili.OPTIONS per rilevare verbi pericolosi (TRACE, DELETE, PUT, CONNECT)..git/config, .env, .htaccess, backup.sql, wp-config.php.bak e altro.<script> e <link> esterni per attributi integrity mancanti.http:// caricate su pagine HTTPS.X-Frame-Options che CSP frame-ancestors per la protezione dal clickjacking.Host falsificata viene riflessa nei reindirizzamenti o nel corpo della risposta.url, next, redirect, return, ecc.) per vulnerabilità di reindirizzamento aperto.EasyScan richiede Python 3.6+ e le seguenti librerie:
requestsbeautifulsoup4dnspythoncertifiPuoi installare queste dipendenze usando il file requirements.txt fornito:
pip install -r requirements.txt
Per utilizzare lo script EasyScan, segui questi passaggi:
easyscan.py.pip install -r requirements.txt
python3 easyscan.py [url]
| Flag | Descrizione |
|---|---|
url | Argomento posizionale. L'URL da scansionare (es. example.com o https://example.com). |
--json | Output dei risultati in formato JSON su stdout. |
--output FILE / -o FILE | Salva il report in un file specifico. |
--timeout SECS / -t SECS | Imposta il timeout della richiesta in secondi (default: 10). |
--verbose / -v | Abilita l'output di log a livello di debug. |
Scansione base:
python3 easyscan.py example.com
Scansione con output JSON salvato in un file:
python3 easyscan.py example.com --json --output report.json
Scansione con timeout più lungo e log verbose:
python3 easyscan.py https://example.com --timeout 20 --verbose
Usa il flag --json per ottenere un output JSON strutturato, utile per l'integrazione con altri strumenti:
python3 easyscan.py example.com --json
Il report JSON include un oggetto score con il punteggio aggregato (0-100), un voto in lettere (A-F), conteggi di gravità e tutti i risultati.
================================================================================================================================================================
REPORT DI SICUREZZA
================================================================================================================================================================
Intestazione Stato Gravità Raccomandazione
================================================================================================================================================================
[CRI] SSL/TLS Mancante Critico Il sito non utilizza HTTPS. Implementa SSL/TLS per crittografare i dati in transito.
[HI] Clickjacking Nessuna Protezione Alto Imposta 'X-Frame-Options: DENY' o la direttiva CSP 'frame-ancestors' per prevenire il clickjacking.
[HI] Pagina Amministrazione Pubblica (/admin) Accessibile Alto Limita l'accesso a /admin a indirizzi IP specifici e/o abilita l'autenticazione.
[MED] Content-Security-Policy Mancante Medio Implementa una Content Security Policy (CSP) per prevenire attacchi XSS e di code injection.
[MED] Strict-Transport-Security Mancante Medio Implementa Strict Transport Security (HSTS) per imporre connessioni sicure.
[MED] Permissions-Policy Mancante Medio Imposta un'intestazione 'Permissions-Policy' per limitare le funzionalità del browser (camera, microfono, geolocalizzazione).
[LOW] Record SPF Mancante Basso Aggiungi un record SPF alle impostazioni DNS del tuo dominio per aiutare a prevenire lo spoofing delle email.
[INF] Meta Referrer Mancante Basso Aggiungi un meta tag 'referrer' con 'no-referrer' per prevenire la divulgazione di informazioni referrer.
============================================================
PUNTEGGIO DI SICUREZZA: 55/100 (Voto: C)
============================================================
Totale Problemi : 8
Critico : 1
Alto : 2
Medio : 4
Basso : 1
Info : 0
============================================================
Tieni presente che lo script potrebbe non coprire tutti i possibili scenari di sicurezza, ed è consigliabile eseguire una valutazione approfondita della sicurezza per il tuo sito web.
EasyScan è anche disponibile su https://easyscan.onrender.com/
Se hai domande o hai bisogno di un audit di sicurezza completo, contattaci su Twitter @0xdevrel.