WEB APP SECURITY
There are a few main categories of common attacks against web applications. Consider the following
steps and related attacks.
• Log in at the website: The attacker can try to discover the password by trying many words. The
attacker would use a long list of passwords with an automated tool to test them against the login
page.
• Search for the product: The attacker can attempt to breach the system by adding specific
characters and codes to the search term. The attacker’s objective is for the target system to
return data it should not or execute a program it should not.
• Provide payment details: The attacker would check if the payment details are sent in cleartext or
using weak encryption. Encryption refers to making the data unreadable without knowing the
secret key or password.
1. Fallimenti di Identificazione e Autenticazione
Descrizione: Comprende le debolezze nei processi di riconoscimento e verifica dell’identità dell’utente,
come l’uso di password semplici o non protette adeguatamente.
Esempi di vulnerabilità:
• Forza Bruta: L'attaccante utilizza strumenti automatizzati per provare molte password fino a
trovare quelle valide.
• Password deboli: Permettere all'utente di scegliere password facilmente intuibili.
• Memorizzazione non sicura: Password memorizzate in chiaro nel database, accessibili in caso di
violazione.
2. Controllo degli Accessi Fallito
Descrizione: Assicura che ogni utente acceda solo ai file e alle informazioni necessari per il proprio ruolo,
riducendo i permessi al minimo indispensabile.
Esempi di vulnerabilità:
• Accesso eccessivo: Fornire a un utente più permessi del necessario, come consentire la modifica
di prezzi a un semplice cliente.
• ID di accesso non protetto: Possibilità di visualizzare o modificare l’account di un altro utente
tramite identificatori unici.
• Accesso non autenticato: Permettere di visualizzare pagine riservate senza login.
3. Injection
Descrizione: Avviene quando l’applicazione web consente l’inserimento di codice malevolo nei campi
input, come nei campi di ricerca. Spesso, l’origine è una mancanza di validazione e sanitizzazione degli
input.
Obiettivo dell’attaccante: Eseguire codice non autorizzato o ottenere dati sensibili dal sistema.
4. Fallimenti di Cifratura
Descrizione: Problemi legati alla cifratura dei dati, ovvero ai processi che rendono i dati illeggibili senza
una chiave segreta.
Esempi di vulnerabilità:
• Dati non cifrati: Invio di informazioni sensibili in chiaro (HTTP invece di HTTPS), rendendo i dati
accessibili a terzi.
• Algoritmi deboli: Utilizzo di algoritmi di cifratura facilmente violabili, come lo shift di una lettera.
• Chiavi predefinite o deboli: Uso di chiavi semplici o standard, come “1234,” che possono essere
facilmente violate.