El documento presenta una introducción a viejas vulnerabilidades como las incluidas en el OWASP Top 10 de 2013 (inyecciones, autenticación rota, XSS) y nuevas vulnerabilidades relacionadas con HTML5. Luego profundiza en cada vulnerabilidad del OWASP Top 10, mostrando ejemplos prácticos de inyecciones SQL, XSS, CSRF y más. Finalmente, concluye con demostraciones de ataques emergentes que aprovechan características de HTML5 sin necesidad de scripts.
2. ¿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.
3. OWASP Top 10, 2013
https://www.owasp.org/index.php/Top_10_2013-Top_10
4. OWASP
The Open Web Application Security Project
https://www.owasp.org/index.php/Main_Page
5. A1 - Injection
SQL, OS, and LDAP injections
https://www.owasp.org/index.php/Top_10_2013-A1
6. SQL Injection
Por 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') + "';
7. SQL Injection
Si 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=1
SELECT * 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=0
SELECT * FROM posts WHERE id = 33 AND 1=0
● Google Hacking:
– inurl:"php?id="
– inurl:"asp?id="
11. 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
12. 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.
13. A4 - Insecure Direct Object References
References to an internal implementation object, such as a file, directory, or database key
https://www.owasp.org/index.php/Top_10_2013-A4
17. A6 - Sensitive Data Exposure
Sensitive data deserves extra protection such as encryption
https://www.owasp.org/index.php/Top_10_2013-A6
18. Seguridad a través de la oscuridad
robots.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
19. Seguridad a través de la oscuridad
Meta-datos: Fear the FOCA!
http://www.informatica64.com/foca.aspx
20. A7 - Missing Function Level Access Control
Attackers are able to forge requests in order to access unauthorized functionality
https://www.owasp.org/index.php/Top_10_2013-A7
21. Proteger el cron en Moodle
Similar para v1.9, 2.x, etc.
http://docs.moodle.org/19/en/Cron
22. 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
23. 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.
24. A9 - Using Components with Known Vulnerabilities
Vulnerable components, such as libraries, frameworks, and other software modules
https://www.owasp.org/index.php/Top_10_2013-A9
26. A10 - Unvalidated Redirects and Forwards
Attackers can redirect victims to phishing or malware sites
https://www.owasp.org/index.php/Top_10_2013-A10
41. 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.
42. 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.