Seguridad Web XSS y BeEF

5,019 views
4,905 views

Published on

Presentación de seguridad web, donde se muestra el impacto de los cross-site scripting con la herramienta beEF

Published in: Technology
3 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
5,019
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
3
Likes
6
Embeds 0
No embeds

No notes for slide

Seguridad Web XSS y BeEF

  1. 1. www.pentester.es SEGURIDAD WEB: Cross-Site Scripting Autor: José Miguel Holguín
  2. 2. Agenda  Agenda  Introducción  Cross-Site Scripting  Demo  Contramedidas y Conclusiones  Preguntas
  3. 3. Introducción (I) : Tendencia  Todos los días interactuamos con gran cantidad de aplicaciones donde un alto porcentaje son aplicaciones Web (en el trabajo, en casa, etc.).  Ley 11/2007 -> Obliga a la Administración a transformase a partir del 1 de enero de 2010 en una administración electrónica (e- Administración).
  4. 4. Introducción (II) - Complejidad  El aumento de funcionalidad deriva en un aumento de complejidad de las aplicaciones Web.
  5. 5. Introducción (III) - OWASP Top Ten -2010 RC OWASP Top 10 – 2007 (Previous) OWASP Top 10 – 2010 (New) A2 – Injection Flaws A1 – Injection A1 – Cross Site Scripting (XSS) A2 – Cross Site Scripting (XSS) A7 – Broken Authentication and Session Management A3 – Broken Authentication and Session Management A4 – Insecure Direct Object Reference A4 – Insecure Direct Object References A5 – Cross Site Request Forgery (CSRF) A5 – Cross Site Request Forgery (CSRF) <was T10 2004 A10 – Insecure Configuration Management> A6 – Security Misconfiguration (NEW) A10 – Failure to Restrict URL Access A7 – Failure to Restrict URL Access <not in T10 2007> A8 – Unvalidated Redirects and Forwards (NEW) A8 – Insecure Cryptographic Storage A9 – Insecure Cryptographic Storage A9 – Insecure Communications A10 – Insufficient Transport Layer Protection A3 – Malicious File Execution <dropped from T10 2010> A6 – Information Leakage and Improper Error Handling <dropped from T10 2010>
  6. 6. Cross-Site Scripting (I): Descripción  ¿Qué es un cross-site scripting?  Un cross-site scripting ocurre por una falta de validación y tratamiento de los datos de entrada a la aplicación web; lo que es aprovechado por los atacantes para realizar inyecciones de código script (javascript, VBscript, etc.).  Posteriormente estos datos son enviados al navegador del cliente.  Tipos de cross-site scripting  Almacenado: Los datos sin filtrar son almacenados en una base de datos.  Reflejado: Los datos sin filtrar que vienen del atacante son reflejados desde una entrada en la aplicación web (campo de un formulario, campo hidden, etc.).  Ejemplos básicos de cross-site scripting  “><script>alert(“XSS”)</script>  "><img src="x:x" onerror="alert(0)">  "><iframe src="javascript:alert(0)">
  7. 7. Cross-Site Scripting (II): Ejemplo  Formulario de ejemplo • Código fuente de la aplicación web stripslashes: filtra el carácter “” mysql_real_scape_string: filtra los caracteres x00, n, r, , ', " y x1a Inserción de los datos en la base de datos
  8. 8. Cross-Site Scripting (III): Ejemplo
  9. 9. Cross-Site Scripting (IV): XSSV  Características de un Cross-Site Scripting Virus (xssv):  Independiente de la plataforma  No se ve afectado por la configuración habitual de los firewalls  Pueden tener un impacto importante sobre la continuidad de Internet  DDoS  Spam  Propagación de exploits para navegadores  El día 11 de abril de 2009: El gusano Mikkey se propaga por twitter.com, infectando alrededor de 10.000 tweets.  El día 28 de junio de 2008 el portal justin.tv es víctima de un xssv.
  10. 10. Cross-Site Scripting (V): Herramienta BeEF  ¿Qué es BeEF?  BeEF es un framework para realizar ataques al navegador del cliente a partir de un Cross-site Scripting.  ¿Cómo funciona BeEF? Atacante Aplicación Web 3. La aplicación envía al cliente el script que apunta a 2. El cliente accede a la beefmagic.js.php aplicación Web Cliente
  11. 11. Cross-Site Scripting (VI): Módulos de BeEF  Módulos de la herramienta BeEF = ¿Qué puedo hacer con BeEF?
  12. 12. Cross-Site Scripting (VII): Interfaz de BeEF  Interfaz de gestión de BeEF 4 3 1 2
  13. 13. Demo
  14. 14. Contramedidas y conclusiones  Contramedidas  La aplicación debe filtrar de manera adecuada todo lo que no sea de necesario en el contexto HTML.  Construir una “lista blanca” es una solución para mitigar los XSS. Pero no es una solución total dado que existen aplicaciones que requieren de caracteres especiales (webmail, etc.)  Realización de revisiones web para detectar los posibles XSS.  A nivel de administración es posible implantar medidas anti-xss como:  mod_security  PHPIDS  Conclusiones  Los ataques de XSS poseen un impacto importante sobre los usuarios de aplicaciones web.  Es posible crear una red de zombie’s de manera sencilla y rápida, a través de XSS con la consecuencias que esto conlleva.  La responsabilidad recae de la mano de los responsables de la aplicación web.
  15. 15. Documentos y Enlaces de referencia  Enlaces  http://ha.ckers.org/xss.html  http://www.xssed.com/  http://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29  http://www.owasp.org/index.php/Data_Validation  Documentos  https://www.owasp.org/images/8/89/OWASP_Testing_Guide_V3.pdf
  16. 16. ¿Preguntas?

×