📚 Wiki🔧 Setup & Configurazione › OWASP Top 10: le vulnerabilità web più critiche spiegate

OWASP Top 10: le vulnerabilità web più critiche spiegate

👤 di @CyberSec_Italia 📅 28/04/2026 👁️ 297 visite
owasp web-security vulnerabilita sql-injection xss
📄 Contenuto 🕐 Cronologia (0)
<h2>Cos\'è OWASP Top 10</h2>
<p>L\'<strong>OWASP Top 10</strong> è la lista delle 10 vulnerabilità più critiche per le applicazioni web, pubblicata dall\'Open Web Application Security Project. È lo standard di riferimento per sviluppatori e security tester nel mondo.</p>
<p>Ogni elemento rappresenta una classe di vulnerabilità, non una singola falla specifica.</p>

<h2>A01 — Broken Access Control</h2>
<p><strong>Cos\'è</strong>: l\'utente può accedere a risorse o eseguire azioni al di fuori dei propri permessi.</p>
<p><strong>Esempi</strong>:</p>
<ul>
<li>IDOR (Insecure Direct Object Reference): cambiare <code>?id=123</code> in <code>?id=124</code> per vedere dati di un altro utente</li>
<li>Accedere a URL admin senza autenticazione</li>
<li>Elevation of privilege: utente normale che accede a funzioni admin</li>
</ul>
<p><strong>Prevenzione</strong>: implementa controlli di autorizzazione lato server, non solo client-side. Principio del minimo privilegio.</p>

<h2>A02 — Cryptographic Failures</h2>
<p><strong>Cos\'è</strong>: dati sensibili trasmessi o salvati senza adeguata cifratura.</p>
<p><strong>Esempi</strong>:</p>
<ul>
<li>Password in chiaro nel database</li>
<li>Trasmissione HTTP (non HTTPS) di dati sensibili</li>
<li>Uso di algoritmi deprecati: MD5, SHA1 per password, DES</li>
</ul>
<p><strong>Prevenzione</strong>: usa bcrypt/Argon2 per password, HTTPS ovunque, TLS 1.2+ minimo, chiavi AES-256.</p>

<h2>A03 — Injection</h2>
<p><strong>Cos\'è</strong>: dati non validati vengono interpretati come istruzioni/comandi.</p>
<p><strong>Tipi principali</strong>:</p>
<ul>
<li><strong>SQL Injection</strong>: <code>' OR '1'='1</code> per bypassare login</li>
<li><strong>XSS (Cross-Site Scripting)</strong>: <code>&lt;script&gt;alert(1)&lt;/script&gt;</code> in input utente</li>
<li><strong>Command Injection</strong>: <code>; cat /etc/passwd</code> in un input che passa a shell</li>
<li><strong>LDAP Injection, XPath Injection, Template Injection</strong></li>
</ul>
<p><strong>Prevenzione</strong>: prepared statements/parametrized queries, input validation, output encoding, CSP headers.</p>

<h2>A04 — Insecure Design</h2>
<p><strong>Cos\'è</strong>: vulnerabilità dovute a scelte architetturali sbagliate, non a bug di implementazione.</p>
<p><strong>Esempio</strong>: un sistema di recupero password che invia la password in chiaro via email (il design stesso è sbagliato).</p>
<p><strong>Prevenzione</strong>: threat modeling in fase di design, secure design patterns, architectural review.</p>

<h2>A05 — Security Misconfiguration</h2>
<p><strong>Cos\'è</strong>: configurazioni di default insicure, funzionalità non necessarie abilitate, errori non gestiti che espongono informazioni.</p>
<p><strong>Esempi</strong>:</p>
<ul>
<li>Credenziali admin di default non cambiate</li>
<li>Debug mode attivo in produzione</li>
<li>Directory listing abilitata su web server</li>
<li>Header di sicurezza HTTP mancanti</li>
</ul>

<h2>A06 — Vulnerable and Outdated Components</h2>
<p><strong>Cos\'è</strong>: uso di librerie, framework, dipendenze con CVE (Common Vulnerabilities and Exposures) note.</p>
<p><strong>Prevenzione</strong>: mantieni un inventario delle dipendenze, usa tools come <code>npm audit</code>, Snyk, Dependabot. Aggiorna regolarmente.</p>

<h2>A07 — Identification and Authentication Failures</h2>
<p><strong>Cos\'è</strong>: problemi con autenticazione e gestione sessioni.</p>
<p><strong>Esempi</strong>: brute force possibile, sessioni non invalidate al logout, password senza requisiti di complessità, mancanza di MFA.</p>
<p><strong>Prevenzione</strong>: MFA obbligatorio per account privilegiati, rate limiting su login, session timeout, password policy.</p>

<h2>A08-A10: gli altri tre</h2>
<ul>
<li><strong>A08 — Software and Data Integrity Failures</strong>: CI/CD pipeline compromessa, deserializzazione insicura</li>
<li><strong>A09 — Security Logging Failures</strong>: nessun log degli accessi, breach impossibile da rilevare</li>
<li><strong>A10 — SSRF</strong>: server-side request forgery, il server viene usato per fare richieste interne</li>
</ul>

<h2>Risorse per esercitarsi</h2>
<ul>
<li><strong>DVWA</strong> (Damn Vulnerable Web Application): VM per praticare tutte le OWASP</li>
<li><strong>PortSwigger Web Security Academy</strong>: laboratori gratuiti su ogni vulnerabilità</li>
<li><strong>OWASP WebGoat</strong>: applicazione didattica con laboratori interattivi</li>
</ul>

📄 Info pagina

📂 🔧 Setup & Configurazione
👤 Autore: @CyberSec_Italia
📅 Creata: 20/04/2026
📅 Aggiornata: 28/04/2026
👁️ Visualizzazioni: 297
🔄 Revisioni: 1
← Torna alla Wiki