Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

1,333 views

Published on

Ogni 3 anni l’OWASP aggiorna la TOP 10 delle vulnerabilità più comuni per le applicazioni Web. La TOP 10 di quest’anno contiene alcune interessanti novità.
Al primo posto rimangono sempre le vulnerabilità
di tipo Injection, seguite dalle problematiche nella Gestione della Sessione e nell’Autenticazione. Indietreggiano di una posizione i Cross Site Scripting.
Il talk, dopo una breve introduzione sulla TOP 10 e sugli
aggiornamenti, si pone lo scopo di descrivere con esempi pratici sia le varie vulnerabilità che i possibili rientri, in pieno spirito “think positive” promosso nella TOP 10 stessa.

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

No Downloads
Views
Total views
1,333
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

  1. 1. Simone Onofri Hackers vs. Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013 simone.onofri@techub.it - Techub S.p.A.
  2. 2. Introduzione
  3. 3. h,p://onofri.org/u/hvdmi
  4. 4. Agenda
  5. 5. Agenda Introduzione   ! Come  si  sono  evolute  le  minacce…   ! …la  OWASP  TOP  10  2013!   ! Conclusioni
  6. 6. Come  si  sono  evolute  le  minacce  nel  tempo  e  perché  la   OWASP  TOP  10  2013
  7. 7. Computer  Security  Timeline
  8. 8. 1991   inventato  il  web
  9. 9. 2001   nasce  OWASP
  10. 10. 2003   nasce  la  TOP  Ten
  11. 11. 2013   10  anni  di  TOP  Ten!
  12. 12. La  OWASP  TOP  10  2013
  13. 13. 10
  14. 14. http://www.example.com/ index.php? option=cookiecheck&return =http://www.evil.com/ Joomla  <=  1.5
  15. 15. A10.  Unvalidated  Redirect  e  Forwards Le   vulnerabilità   di   Gpo   Unvalidated   Redirect   e   Forwards   si   verificano   quando   daO   non   validaO   uGlizzaG   per   gesGre   redirezioni   verso   altre   pagine   o   siG,   permeQendo   di   redirezionare   l’utente   su   pagine   o   siG   terzi.   Tali   vulnerabilità   possono   essere   uGlizzate   da   malware   o   per   aQacchi   di   phishing   come   per   quesGoni  di  Black  SEO  -­‐  secondo  il  parGcolare  redirect  uGlizzato  dalla  pagina.  
  16. 16. 9
  17. 17. soPware  not  updated  since  2006…
  18. 18. HTTP/1.1 404 /nonexistantpage.jsp Date: Tue, 29 Nov 2013 09:00:00 GMT Server: Apache/2.2.16 (Win32) mod_jk/1.2.30 X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)/Tomcat-5.5 Pragma: no-cache Content-Length: 1087 Content-Type: text/ html;charset=utf-8 Apache  e  Jboss
  19. 19. A9.  Using  Components  with  Known   VulnerabiliOes Le  vulnerabilità  di  questo  Gpo  insistono  sulla  configurazione  e  deployment  di   sistemi  e/o  applicazioni.     L’impaQo  varia  secondo  la  problemaGca  specifica,  ad  esempio  dalle  vulnerabilità   presenG  in  un  applicaGon  server  o  una  libreria  applicaGva  non  aggiornata.   La  responsabilità  dell’aggiornamento  è  per  alcuni  aspeZ  sistemisOca,  per  altri   applicaOva;  altri  aggiornamenG  potrebbero  inoltre  dipendere  da  necessità   applicaGve  ma  insistere  sui  sistemi.
  20. 20. 8
  21. 21. explaning  ****  to  management…
  22. 22. <img src="http://www.example.com/ saurus/admin/change_config.php? group=1&site_name=hacked&slogan=hack ed&meta_title=hacked&meta_descriptio n=hacked&meta_keywords=hacked&save=1 &flt_keel=1&page_end_html=&timezone= ">  Saurus  CMS  Admin  Panel
  23. 23. A8.  Cross  Site  Request  Forgery  (CSRF) Le  vulnerabilità  di  questo  Gpo,  solitamente  considerate  problemaGche  nella   gesOone  della  sessione,  permeQono  di  far  eseguire  richieste  arbitrarie  ad  un   utente  verso  un’applicazione  potendone  così  sfruQare  l’accesso,  senza  che   l’utente  sia  noGficato  dell’aZvità.  Il  browser,  quando  esegue  una  richiesta  verso   un’applicazione,  invia  automaGcamente  eventuali  cookie  presenG.  La  CSRF  è   parGcolarmente  criGca  per  operazioni  che  modificano  lo  stato  del  sistema.
  24. 24. 7
  25. 25. Bypass  filters…
  26. 26. http://www.example.com/ bin.php?id=1&download=1 …un  noto  sistema  sullo  stile  di  pastebin
  27. 27. A7.  Missing  FuncOon  Level  Access  Control Le  vulnerabilità  di  questo  Gpo  consistono  nelle  problemaGche  che  espongono   funzionalità  che  dovrebbero  invece  essere  proteQe  da  un  controllo  accessi.   Riguardano  pertanto  l’autorizzazione,  che  può  essere  gesGta  -­‐  secondo  i  contesG   -­‐  sia  lato  applicaGvo  che  lato  sistemisGco  (in  questo  caso  tramite  la   configurazione).  L’impaQo  dipende  dal  Gpo  di  funzionalità  cui  si  ha  accesso.
  28. 28. 6
  29. 29. i  miei  daO…  il  mio  tessoro…
  30. 30. captcha-commits@lists.phpbb.com 54a946c47dd434b2 
 catdb-commits@lists.phpbb.com 6f543db8f086e11f 
 convertors-commits@lists.phpbb.com c192b68baacc8842 
 documentation-commits@lists.phpbb.com f85ffcdf9262420c 
 easymod-commits@lists.phpbb.com 5db5bf75be85191b 
 kbase-commits@lists.phpbb.com 7c843188ed2f6021 
 modteam-commits@lists.phpbb.com 533aeefe56bfa30c 
 prosilver-commits@lists.phpbb.com 859785a9cc724e03 
 website-commits@lists.phpbb.com 3c79b9864ae5ce43 
 phpbb-honey-commits@lists.phpbb.com 7e9563750650e4c4 
 st-tool-commits@lists.phpbb.com 534d4a9b74bb77aa 
 iit-track-commits@lists.phpbb.com 8f318ffd3a2067c8 
 packagemanager-commits@lists.phpbb.com 81657892dddafdca 
 moddocs-commits@lists.phpbb.com 85c837b7f78e5435 
 phpBB  hacked
  31. 31. $ python sslyze.py --regular www.example.com ! ! ! ! ! ! ! ! CHECKING HOST(S) AVAILABILITY ----------------------------www.example.com:443 => 127.0.0.1:443 SCAN RESULTS FOR WWW.EXAMPLE.COM:443 - 127.0.0.1:443 --------------------------------------------------------* Compression : Compression Support: CRIME Enabled zlib compression
  32. 32. A6.  SensiOve  Data  Exposure Le  vulnerabilità  di  questo  Gpo  consistono  nelle  problemaGche  che  espongono   informazioni  che  dovrebbero  invece  essere  proteQe.  Le  informazioni  devono   essere  proteQe  quando  trasmesse  (sicurezza  della  comunicazione),  quando   memorizzate  sul  server  (cri,ografia)  oppure  quando  vengono  inviate  al  browser   (caching)
  33. 33. 5
  34. 34. tomcat  tomcat  on  login  page
  35. 35. <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> </ tomcat-users> Tomcat  tomcat-­‐users.xml
  36. 36. A5.  Security  MisconfiguraOon Le  vulnerabilità  di  questo  Gpo  insistono  sulla  configurazione  e  deployment  di   sistemi  e/o  applicazioni.     L’impaQo  varia  secondo  la  problemaGca  specifica,  ad  esempio  di  accedere  alle   interfacce  di  amministrazione  tramite  password  di  default.     La  responsabilità  delle  configurazioni  è  per  alcuni  aspeZ  sistemisOca,  per  altri   applicaOva;  alcune  configurazioni  potrebbero  inoltre  dipendere  da  necessità   applicaGve  ma  insistere  sui  sistemi.
  37. 37. 4
  38. 38. POST
 /? m=Profile&func=get_raw_blog_entry&us er_id=<user_id>&ajax=1&store=0&aja
 x_target=none
 HTTP/1.1
 Host: wwwb21.tuenti.com
 [...]
 blog_entry_id=<another_blog_entry_id >&csfr=<token> Tuenti  Social  Network  
  39. 39. A4.  Insecure  Direct  Object  Reference Le  vulnerabilità  di  Gpo  Insecure  Direct  Object  Reference  posso  riguardare   problemaGche  di  autorizzazione  nei  parametri  di  ingresso  che,  non  controllando   l’effeZvo  possesso  per  l’autorizzazione  di  accesso,  permeQono  l’accesso  ad   oggeZ  altrimenG  non  accessibili.  Per  ogni  risorsa,  bisogna  definire  se  questa   può  essere  accessibile  da  determinaG  utenG  (anche  anonimi),  e  se  si  è   autorizzaG  alla  visualizzazione.  Spesso  questo  Gpo  di  controllo  viene  faQo   tramite  il  principio  della  “sicurezza  tramite  segretezza”,  pertanto  conoscendo  il   valore  del  parametro  è  possibile  accedervi.  
  40. 40. 3
  41. 41. mulOple  stored  ***  on  a  single  page
  42. 42. http://www.example.com/ index.php?catid=1>’><script %20%0d%0a>alert XSS(406115679152)%3B</script> Cag's  CMS
  43. 43. A3.  Cross  Site  ScripOng  (XSS) Le   vulnerabilità   di   Gpo   XSS   si   verificano   quando   daO   non   validaO   vengono   resGtuiG   al   browser,   oppure   memorizzaG   dall’applicazione   e   resGtuiG   in   un   secondo  momento,  permeQendo  quindi  di  eseguire  codice  lato  client  all’interno   del  browser  degli  utenG.   L’impaQo  di  queste  vulnerabilità  è  spesso  alto  e  permeQe  di  compromeQere  gli   utenG,  oppure  di  eseguire  dei  defacement.  
  44. 44. 2
  45. 45. POST /CubeCart-latest/admin.php? _g=maintenance/backup HTTP/1.1 Host: bld02 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryCpv +NVAHAgHHdvdI User-Agent: X_CLUSTER_CLIENT_IP: Cookie: ccAdmin=+ Accept: */*;q=0.5 Content-Length: 434 CubeCart  4
  46. 46. A2.  Broken  AuthenOcaOon  and  Session   Management Le  vulnerabilità  di  questo  Gpo  possono  riguardare  la  gesOone  della  sessione  o   insistere  sull’autenOcazione,  permeQono  di  accedere  all’applicazione  con  i   permessi  di  altri  utenG.  AutenGcazione  e  Sessione  sono  argomenG  correlaG.  Una   volta  che  l’utente  si  autenGca,  viene  idenGficato  aQraverso  l’id  di  sessione,  che   può  essere  soggeQo  ad  aQacchi  di  svariato  Gpo,  come  anche  le  credenziali,  la   schermata  di  autenOcazione  con  i  rispeZvi  errori  ed  eventuali  pagine  che   gesGscono  le  credenziali  degli  utenG,  come  la  funzionalità  di  cambio  password.
  47. 47. 1
  48. 48. http://www.example.com/cart/ index.php?cat_id=19+union +select+group_concat %28username,0x3a,password %29,2,3,4,5,6,7,8+from +cube305_CubeCart_admin_users—  CubeCart  2.0.1
  49. 49. A1.  InjecOon Le  vulnerabilità  di  Gpo  InjecGon  si  verificano  quando  daO  non  validaO  vengono   inviaG   come   parte   di   una   richiesta   verso   un   interprete,   permeQendo   di   eseguire   richieste  o  comandi  normalmente  non  previsG  dall’applicazione.     L’impaQo  di  queste  vulnerabilità  è  spesso  alto  e  permeQe  di  compromeQere  il   sistema  o  i  daG.  
  50. 50. 2003/2004   (a,acks) 2007   (vulnerabiliOes) 2010   2013   Unvalidated  Input Cross  Site  ScripOng  (XSS) InjecOon InjecOon Broken  Access  Control InjecOon  Flaws Cross-­‐Site  ScripOng  (XSS) Broken  AuthenOcaOon   and  Session  Management Broken  AuthenOcaOon   and  Session  Management Malicious  File  ExecuOon Broken  AuthenOcaOon   and  Session  Management Cross-­‐Site  ScripOng  (XSS) Cross  Site  ScripOng  (XSS)   Flaws Insecure  Direct  Object   Reference Insecure  Direct  Object   References Insecure  Direct  Object   References Buffer  Overflows Cross  Site  Request   Forgery  (CSRF)* Cross-­‐Site  Request   Forgery  (CSRF) Security  MisconfiguraOon (risks) (risks) InformaOon  Leakage  and   Security  MisconfiguraOon Improper  Error  Handling SensiOve  Data  Exposure Improper  Error  Handling Broken  AuthenOcaOon   and  Session  Management Insecure  Cryptographic   Storage Missing  FuncOon  Level   Access  Control Insecure  Storage Insecure  Cryptographic   Storage Failure  to  Restrict  URL   Access Cross-­‐Site  Request   Forgery  (CSRF) Denial  of  Service Insecure  CommunicaOons Insufficient  Transport   Layer  ProtecOon Using  Known  Vulnerable   Components Insecure  ConfiguraOon   Management Failure  to  Restrict  URL   Access Unvalidated  Redirects   and  Forwards Unvalidated  Redirects   and  Forwards InjecOon  Flaws
  51. 51. morale?
  52. 52. Conclusioni
  53. 53. GRAZIE! ;-­‐) http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri
  54. 54. http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri DOMANDE ?

×