OWASP Top 10 most critical web application security risks
- Injection (Iniezione)
- Spiegazione: L'iniezione si riferisce a una classe di attacchi in cui un attaccante inserisce dati non validi o comandi in un'applicazione o un sistema, sfruttando vulnerabilità che consentono di eseguire codice non autorizzato. Ciò può verificarsi in database, comandi SQL, script o altri linguaggi interpretati.
- Cross-Site Scripting (XSS) (Scripting tra Siti Incrociati)
- Spiegazione: XSS è una vulnerabilità di sicurezza web che consente agli attaccanti di iniettare script dannosi in pagine web visualizzate da altri utenti. Questi script vengono eseguiti nel browser della vittima, consentendo all'attaccante di rubare informazioni sensibili o interagire con l'account dell'utente.
- Broken Authentication and Session Management (Autenticazione e Gestione Sessione Difettose)
- Spiegazione: Questa vulnerabilità si verifica quando le pratiche di autenticazione e gestione delle sessioni non sono implementate correttamente. Gli attaccanti potrebbero sfruttare debolezze nel processo di autenticazione o rubare le informazioni di sessione per assumere il controllo dell'account dell'utente.
- Insecure Direct Object References (Riferimenti Diretti a Oggetti non Sicuri)
- Spiegazione: Si verifica quando un'applicazione web fornisce accesso diretto agli oggetti (come file o database) senza adeguata autorizzazione. Gli attaccanti possono sfruttare questa vulnerabilità per accedere o modificare dati sensibili.
- Cross-Site Request Forgery (CSRF) (Contraffazione di Richieste tra Siti)
- Spiegazione: CSRF coinvolge l'esecuzione di azioni non autorizzate su un sito web a nome di un utente senza il loro consenso. Gli attaccanti inducono la vittima a eseguire azioni indesiderate, sfruttando la fiducia che il sito ha nell'autenticità delle richieste.
- Security Misconfiguration (Configurazione di Sicurezza Errata)
- Spiegazione: Si verifica quando un'applicazione o un sistema è configurato in modo non sicuro, esponendo informazioni sensibili o consentendo accessi non autorizzati. La configurazione errata può includere permessi, impostazioni di sicurezza e altre configurazioni critiche.
- Failure to Restrict URL Access (Mancata Limitazione dell'Accesso agli URL)
- Spiegazione: Questo problema si verifica quando un'applicazione web non implementa adeguatamente le restrizioni sull'accesso a determinati URL o risorse, consentendo a utenti non autorizzati di accedervi.
- Insecure Cryptographic Storage (Archiviazione Crittografica Non Sicura)
- Spiegazione: Riguarda l'uso inadeguato o debole di algoritmi crittografici per proteggere dati sensibili, come password o informazioni utente. Ciò può rendere più facile per gli attaccanti decifrare o compromettere tali dati.
- Insufficient Transport Layer Protection (Protezione Insufficiente dello Strato di Trasporto)
- Spiegazione: Si riferisce al mancato utilizzo di protocolli di sicurezza durante la trasmissione di dati su una rete. Senza una protezione adeguata, gli attaccanti potrebbero intercettare o manipolare le comunicazioni.
- Unvalidated Redirects and Forwards (Reindirizzamenti e Inoltri Non Convalidati)
- Spiegazione: Si verifica quando un'applicazione web consente reindirizzamenti o inoltri senza una valida convalida. Gli attaccanti possono utilizzare questa vulnerabilità per indirizzare le vittime verso siti dannosi o eseguire azioni indesiderate.
Cosa hanno in comune queste minacce?
Queste minacce non attaccano direttamente la crittografia né l'autorizzazione.
Tutte sfruttano difetti di programmazione o configurazione.
Tutte sono relativamente facili da sfruttare.
Possono causare seri danni,
- sia rivelando dati segreti,
- sia attaccando la qualità del servizio.
Possono essere prevenute solo da sistemi ben progettati.
Input non convalidati
- Note:
- Le applicazioni web utilizzano input dalle richieste HTTP.
- Gli aggressori possono manomettere qualsiasi parte di una richiesta HTTP.