Sicurezza delle applicazioni web

476
-1

Published on

OWASP Top 5 explained

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
476
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Sicurezza delle applicazioni web

    1. 1. Liofilizzato de“Fondamenti di sicurezza delle applicazioni”
    2. 2. OWASP Top 101. Injection2. Cross-Site Scripting (XSS)3. Broken Authentication and Session Management4. Insecure Direct Object References5. Cross-Site Request Forgery (CSRF)6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer Protection10. Unvalidated Redirects and Forwards
    3. 3. OWASP Top 101. Injection2. Cross-Site Scripting (XSS)3. Broken Authentication and Session Management4. Insecure Direct Object References5. Cross-Site Request Forgery (CSRF)6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer Protection10. Unvalidated Redirects and Forwards
    4. 4. Injection InjectionSQL Injection OS Injection Path traversal
    5. 5. SQL Injection What
    6. 6. SQL Injection What What ?
    7. 7. SQL Injection Whatun attaccante è in grado di inserire dichiarazioniSQL in una query esistente manipolando i datipassati in input ad una applicazione.
    8. 8. SQL Injection Why assenza / errata validazione degli input creazione dinamica di SQL in modo naifpublic boolean auth(String user) { String sql = “select * from FW01_USER where username = ” + param; ... // query execution...}
    9. 9. OS Injection Whatun attaccante è in grado di eseguire direttamentecomandi del sistema operativo ospitante il serverweb o l’application server manipolando i datipassati in input ad una applicazione.
    10. 10. OS Injection Why assenza / errata validazione degli input esecuzione diretta di eseguibili nella shell sottostantemediante stringhe di comando contenenti i parametri in input
    11. 11. Path traversal Whatun attaccante è in grado accedere alle risorse aldi fuori del web tree.
    12. 12. Path traversal Why assenza / errata validazione degli input utilizzo dell’input per la costruzione di referenze a file edirectory
    13. 13. Path traversal Why assenza / errata validazione degli input utilizzo dell’input per la costruzione di referenze a file edirectory http://xxx.yyy.zzz/getFile.jsp?file=report.pdf
    14. 14. Path traversal Why assenza / errata validazione degli input utilizzo dell’input per la costruzione di referenze a file edirectory http://xxx.yyy.zzz/getFile.jsp?file=report.pdfhttp://xxx.yyy.zzz/getFile.jsp?file=../../../../src/code/src.zip
    15. 15. OWASP Top 10✓ Injection2. Cross-Site Scripting (XSS)3. Broken Authentication and Session Management4. Insecure Direct Object References5. Cross-Site Request Forgery (CSRF)6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer Protection10. Unvalidated Redirects and Forwards
    16. 16. XSS Whatun attaccante è in grado di modificare l’output diuna pagina prodotta da una web application pereseguire codice javascript / ActiveX / mobilecode senza modificare i dati o le configurazionidel server.
    17. 17. XSS Whyassenza / errata validazione degli inputassenza di escaping dell’output
    18. 18. XSS HowValidazione degli input e degli outputCookies HttpOnly
    19. 19. OWASP Top 10✓ Injection✓ Cross-Site Scripting (XSS)3. Broken Authentication and Session Management4. Insecure Direct Object References5. Cross-Site Request Forgery (CSRF)6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer Protection10. Unvalidated Redirects and Forwards
    20. 20. AutenticazioneErrori di design Errori di implementazione• password deboli • logiche fail-open• vulnerabilità a forza bruta • registrazione / comunicazione insicura di credenziali• messaggi differenziati di errore• uso di canali non cifrati• recupero password debole
    21. 21. AutenticazioneErrori di design Errori di implementazione• password deboli • logiche fail-open• vulnerabilità a forza bruta • registrazione / comunicazione insicura di credenziali• messaggi differenziati di errore• uso di canali non cifrati• recupero password debole
    22. 22. AutenticazioneErrori di design Errori di implementazione• password deboli • logiche fail-open• vulnerabilità a forza bruta Limite al • registrazione / comunicazione # tentativi / time slice insicura di credenziali• messaggi differenziati di errore• uso di canali non cifrati• recupero password debole
    23. 23. AutorizzazioneErrori logici• controlli client side• parametri HTTP usati come ACLErrori di implementazione• URL diretti, privilegiati, segreti
    24. 24. Sessioni e cookie STATOSICUREZZA Semplicità Server side Client side Fat session Thin session Session token
    25. 25. OWASP Top 10✓ Injection✓ Cross-Site Scripting (XSS)✓ Broken Authentication and Session Management4. Insecure Direct Object References5. Cross-Site Request Forgery (CSRF)6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer Protection10. Unvalidated Redirects and Forwards
    26. 26. Insecure Direct Object RefsString query = "SELECT * FROM accts WHERE account = ?";PreparedStatement pstmt =connection.prepareStatement(query, ... );pstmt.setString( 1, request.getParameter("acct"));ResultSet results = pstmt.executeQuery(); http://example.com/app/accountInfo?acct=notmyacct
    27. 27. OWASP Top 10✓ Injection✓ Cross-Site Scripting (XSS)✓ Broken Authentication and Session Management✓ Insecure Direct Object References5. Cross-Site Request Forgery (CSRF)6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer Protection10. Unvalidated Redirects and Forwards
    28. 28. CSRF[see surf]
    29. 29. CSRF [see surf] https://mytrustedbank.com1 Bank login username utonto password *****
    30. 30. CSRF [see surf] https://mytrustedbank.com1 Bank login username utonto password *****2
    31. 31. CSRF [see surf] https://mytrustedbank.com 1 Bank login username utonto password ***** 2 http://malicious.org3 Really bad site Ode to the pig
    32. 32. CSRF [see surf] https://mytrustedbank.com 1 Bank login username utonto password ***** 2 http://malicious.org3 ... Really bad site <img src=”https://mytrustedbank.com/app/ transferFunds? amount=1500&destAccount=attackersAcct#”/> Ode to the pig
    33. 33. CSRF How➡Usare GET e POST in modo appropriato➡Usare un security token per richieste non GET
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×