2. OWASPTOP 10 (2013)
1. Injection
2. Broken Authentication/Session
Management
3. XSS
4. Insecure Direct Object References
5. Security Misconfigurations
6. Sensitive data Exposure
7. Missing Function Level Access Control
8. CSRF/XSRF
9. KnownVulnerabilities
10. Unvalidated redirects
3. SQL INJECTION
• Passaggio alle query di valori che possono alterare
l’output atteso.
• Usare librerie sicure;
• SQL sanitization
select * from users where name =‘pippo’ or ‘1’=‘1’
1
4. SESSION SPOOFING/
HIJACKING
• Furto di ID di sessione.
• Usare SSL;
• non passare ID di sessione via URL;
• usare Session Fixation;
• usare protezione CSRF/XSRF.
2
5. XSS: CROSS SITE
SCRIPTING
• Inserimento nella pagina script malvagi che
possono sputtanare i dati dell’utente.
• Usare librerie sicure;
• parameter sanitization.
<script>alert(localStorage.getItem(‘password’))</script>
3
6. BUSINESS LOGIC LEAK
• Lasciare codice di business logic in mano
all’utente.
• Tenere la business logic server side e esporre
all’utente solo logica di presentazione.
4
7. SALVATAGGIO DI DATI
SENSIBILI
• Salvare in locale informazioni di autenticazione/
autorizzazione.
• Login, password e dati di autorizzazione devono
essere salvati server side.
• Usare sistemi di cifratura sicuri.
6
8. CSRF: CROSS SITE REQUEST
FORGERY
• Far invocare all’utente loggato URL pericolose.
• Usare protezione CSRF/XSRF.
<img src=“http://banca.it?transfer=10000&iban=12...”/>
8
9. VULNERABILITÀ DI BBOX:
XSS
1. Creiamo un utente con un nome
che contiene uno script:
<script>alert(document.cookie
)</script>
Questo script mostra a schermo i cookie
dell’utente. Potrebbe inviarli ad un server
malvagio. Potrebbe inviare tutto il localStorage.
12. PRECEDENTIVULNERABILITÀ DI
BBOX
• 23 ottobre 2014: un utente provvisto di chiave
senza ROLE_OPERATOR ottiene il ruolo
ROLE_OPERATOR al secondo login (#5787)
• 26 febbraio 2016: la pagina portale è soggetta a
XSS (#8252).