Date post: | 14-Dec-2014 |
Category: |
Technology |
Upload: | simone-onofri |
View: | 865 times |
Download: | 3 times |
Simone Onofri
[email protected] - Techub S.p.A.
Hackers vs. Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Introduzione
h,p://onofri.org/u/hvdmi
Agenda
Agenda
Introduzione !
Come si sono evolute le minacce… !
…la OWASP TOP 10 2013! !
Conclusioni
Come si sono evolute le minacce nel tempo e perché la OWASP TOP 10 2013
Computer Security Timeline
1991 inventato il web
2001 nasce OWASP
2003 nasce la TOP Ten
2013 10 anni di TOP Ten!
La OWASP TOP 10 2013
10
http://www.example.com/index.php?option=cookiecheck&return=http://www.evil.com/
Joomla <= 1.5
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.
9
soPware not updated since 2006…
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
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.
8
explaning **** to management…
<img src="http://www.example.com/saurus/admin/change_config.php?group=1&site_name=hacked&slogan=hacked&meta_title=hacked&meta_description=hacked&meta_keywords=hacked&save=1&flt_keel=1&page_end_html=&timezone=">
Saurus CMS Admin Panel
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.
7
Bypass filters…
http://www.example.com/bin.php?id=1&download=1
…un noto sistema sullo stile di pastebin
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.
6
i miei daO… il mio tessoro…
[email protected] 54a946c47dd434b2 [email protected] 6f543db8f086e11f [email protected] c192b68baacc8842 [email protected] f85ffcdf9262420c [email protected] 5db5bf75be85191b [email protected] 7c843188ed2f6021 [email protected] 533aeefe56bfa30c [email protected] 859785a9cc724e03 [email protected] 3c79b9864ae5ce43 [email protected] 7e9563750650e4c4 [email protected] 534d4a9b74bb77aa [email protected] 8f318ffd3a2067c8 [email protected] 81657892dddafdca [email protected] 85c837b7f78e5435
phpBB hacked
$ 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: Enabled zlib compression !
CRIME
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)
5
tomcat tomcat on login page
<?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
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.
4
POST /?m=Profile&func=get_raw_blog_entry&user_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
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.
3
mulOple stored *** on a single page
http://www.example.com/index.php?catid=1>’><script
%20%0d%0a>alert XSS(406115679152)%3B</script>
Cag's CMS
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.
2
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
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.
1
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
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.
2003/2004 (a,acks)
2007 (vulnerabiliOes)
2010 (risks)
2013 (risks)
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
InjecOon Flaws InformaOon Leakage and Improper Error Handling
Security MisconfiguraOon 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
morale?
Conclusioni
GRAZIE!
;-‐)http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri
DOMANDE
?http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri