SlideShare a Scribd company logo
1 of 12
Download to read offline
WEB APPLICATION
THREATS
Talk 17
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
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
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
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
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
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
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
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.
VULNERABILITÀ DI BBOX:
XSS
2. Facciamo login.
VULNERABILITÀ DI BBOX:
XSS
2. La pagina
portale esegue
lo script.
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).

More Related Content

More from Federico Russo (20)

15 - Java 8
15 - Java 815 - Java 8
15 - Java 8
 
14 - Atom
14 - Atom14 - Atom
14 - Atom
 
Slides functionalities 0.26-r16
Slides   functionalities 0.26-r16Slides   functionalities 0.26-r16
Slides functionalities 0.26-r16
 
BBox e vaadin7
BBox e vaadin7BBox e vaadin7
BBox e vaadin7
 
Box Functionalities 0.20
Box Functionalities 0.20Box Functionalities 0.20
Box Functionalities 0.20
 
Tile server
Tile serverTile server
Tile server
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
12 java modifiers
12 java modifiers12 java modifiers
12 java modifiers
 
10 Data caching
10 Data caching10 Data caching
10 Data caching
 
11 Java 7
11 Java 711 Java 7
11 Java 7
 
08 Workflow e strumenti web
08 Workflow e strumenti web08 Workflow e strumenti web
08 Workflow e strumenti web
 
06 Refactoring
06 Refactoring06 Refactoring
06 Refactoring
 
09 Transactions
09 Transactions09 Transactions
09 Transactions
 
07 Design Patterns
07 Design Patterns07 Design Patterns
07 Design Patterns
 
05 unit testing
05 unit testing05 unit testing
05 unit testing
 
04-JVM
04-JVM04-JVM
04-JVM
 
03 - Ricorsione
03 - Ricorsione03 - Ricorsione
03 - Ricorsione
 
02 - Collezioni
02 - Collezioni02 - Collezioni
02 - Collezioni
 
01 - Ereditarietà e polimorfismo
01 - Ereditarietà e polimorfismo01 - Ereditarietà e polimorfismo
01 - Ereditarietà e polimorfismo
 
DataSnap
DataSnapDataSnap
DataSnap
 

17 - Web Application Threats

  • 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.
  • 11. VULNERABILITÀ DI BBOX: XSS 2. La pagina portale esegue lo script.
  • 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).