1 | Web Attacks Presentación  –  Web Attack
2 | Web Attacks <ul><ul><li>Seguridad en Aplicaciones Web </li></ul></ul><ul><ul><li>Protocolo HTTP </li></ul></ul><ul><ul...
3 | Web Attacks HTTP/1.0 definido en RFC 1945 Posee 2 métodos de mensajes: HTTP  request [browser -> server] HTTP  respons...
4 | Web Attacks Planteamos una arquitectura web con los siguientes elementos: Clientes Firewall Cache / Load Balancer Serv...
5 | Web Attacks En el cuadro que exponemos veremos los principales ataques sobre Aplicaciones Web. Seguridad en  Aplicacio...
6 | Web Attacks XSS Cross Site  Scripting XSS Cross Site Scripting
7 | Web Attacks Es un agujero de seguridad basado en la explotación de vulnerabilidades del sistema de validación HTML. De...
8 | Web Attacks XSS Cross Site  Scripting Demo - No Persistente XSS Cross Site Scripting
9 | Web Attacks XSS Cross Site  Scripting Demo - Persistente XSS Cross Site Scripting
10 | Web Attacks XSRF / CSRF  XSRF / CSRF Cross Site Scripting
11 | Web Attacks Fuerza al navegador web autenticado de una víctima a enviar una petición a una aplicación web vulnerable,...
12 | Web Attacks XSRF / CSRF Cross Site Scripting Demo XSRF / CSRF
13 | Web Attacks Path Traversal Path Traversal
14 | Web Attacks La finalidad de este ataque  es ordenar a la aplicación web acceder a un archivo al que no debería poder ...
15 | Web Attacks Path Traversal Demo Path Traversal
16 | Web Attacks Null Byte Null Byte
17 | Web Attacks Es una técnica de explotación que se utiliza para eludir filtros de control de sanidad sobre una infraest...
18 | Web Attacks Null Byte Demo Null Byte
19 | Web Attacks OS Commanding OS Commanding
20 | Web Attacks Este tipo de ataque se utiliza para la ejecución no autorizada de comandos del sistema operativo. Muchas ...
21 | Web Attacks OS Commanding Demo OS Commanding
22 | Web Attacks Local File Inclusion Local File Inclusion
23 | Web Attacks Es utilizada en sitios que permiten el enlace de archivos locales, debido a una mala verificación en la p...
24 | Web Attacks Local File Inclusion Demo Local File Inclusion
25 | Web Attacks Remote File Inclusion Remote File Inclusion
26 | Web Attacks Es utilizada en sitios que permiten el enlace de archivos remotos, debido a una mala verificación en la p...
27 | Web Attacks Remote File Inclusion Demo Remote File Inclusion
28 | Web Attacks Information Disclosure Information Disclosure
29 | Web Attacks Se presenta básicamente ante un error de configuración del administrador o del usuario, que permite ver m...
30 | Web Attacks Information Disclosure Demo Information Disclosure
31 | Web Attacks SQL Injection SQL Injection
32 | Web Attacks Es una técnica usada para la  inyección de datos en una consulta SQL desde un cliente de la aplicación . ...
33 | Web Attacks Demo SQL Injection SQL Injection
34 | Web Attacks Blind SQL Injection Demo Blind SQL Injection
35 | Web Attacks http://www.owasp.org http://www.clubdelprogramador.com.ar http://proyects.webappsec.org http://www.google...
36 | Web Attacks Preguntas? - Final - @artsweb
Upcoming SlideShare
Loading in …5
×

Web app attacks

6,634 views

Published on

La presentación hace referencia a los ataques más comunes sobre las aplicaciones Web. La idea principal es concientizar a los desarrolladores/administradores, para que tengan en cuenta a qué amenazas y riesgos de seguridad están expuestas sus aplicaciones. Es importante señalar que existen más ataques, los cuales no figuran en la presentación

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,634
On SlideShare
0
From Embeds
0
Number of Embeds
4,294
Actions
Shares
0
Downloads
121
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Web app attacks

  1. 1. 1 | Web Attacks Presentación – Web Attack
  2. 2. 2 | Web Attacks <ul><ul><li>Seguridad en Aplicaciones Web </li></ul></ul><ul><ul><li>Protocolo HTTP </li></ul></ul><ul><ul><li>Vulnerabilidad XSS </li></ul></ul><ul><ul><li>Vulnerabilidad CSRF </li></ul></ul><ul><ul><li>Path Traversal </li></ul></ul><ul><ul><li>Null Byte </li></ul></ul><ul><ul><li>OS Commanding </li></ul></ul><ul><ul><li>Local File Inclusion </li></ul></ul><ul><ul><li>Remote File Inclusion </li></ul></ul><ul><ul><li>Information Disclosure </li></ul></ul><ul><ul><li>SQL Injection </li></ul></ul>- Agenda -
  3. 3. 3 | Web Attacks HTTP/1.0 definido en RFC 1945 Posee 2 métodos de mensajes: HTTP request [browser -> server] HTTP response [server -> cliente] Métodos: GET , HEAD , POST . No se mantiene el estado en HTTP . Una conexión TCP para cada HTTP request. HTTP/1.1 definido en RFC 2616 Métodos: GET , HEAD , POST , OPTIONS , PUT , DELETE , TRACE , CONNECT . Encabezado “ Host ” : indica el nombre del servidor al cual se le realiza el pedido, permite que se utilicen hosts virtuales. No se mantiene el estado en HTTP . Conexiones TCP persistentes por defecto. Características del Protocolo HTTP
  4. 4. 4 | Web Attacks Planteamos una arquitectura web con los siguientes elementos: Clientes Firewall Cache / Load Balancer Servidor Web Servidor de base de datos Arquitectura Web
  5. 5. 5 | Web Attacks En el cuadro que exponemos veremos los principales ataques sobre Aplicaciones Web. Seguridad en Aplicaciones Web
  6. 6. 6 | Web Attacks XSS Cross Site Scripting XSS Cross Site Scripting
  7. 7. 7 | Web Attacks Es un agujero de seguridad basado en la explotación de vulnerabilidades del sistema de validación HTML. Debemos saber que existe 2 tipos de métodos de un ataque XSS: No persistente Persistente Mediante este agujero de seguridad, podemos obtener del usuario : Predicción de ID de sesión. Robo de Cookies. Ejecución de código malicioso Como contramedida podemos utilizar “ htmlspecialchars ” ya que esta función convierte los caracteres especiales que pueden afectar a las etiquetas HTML, como mayor y menor qué, comillas simples y dobles y el carácter &. XSS Cross Site Scripting
  8. 8. 8 | Web Attacks XSS Cross Site Scripting Demo - No Persistente XSS Cross Site Scripting
  9. 9. 9 | Web Attacks XSS Cross Site Scripting Demo - Persistente XSS Cross Site Scripting
  10. 10. 10 | Web Attacks XSRF / CSRF XSRF / CSRF Cross Site Scripting
  11. 11. 11 | Web Attacks Fuerza al navegador web autenticado de una víctima a enviar una petición a una aplicación web vulnerable, que ejecuta la acción enviada. Al contrario que los ataques XSS, los cuales explotan la confianza que un usuario tiene en un sitio en particular, el CSRF explota la confianza que un sitio tiene en un usuario en particular. Como contramedida podemos utilizar la generación y codificación de un número aleatorio ( token ) tras el ingreso del usuario en la aplicación, que se almacena en la sesión del usuario. En cada formulario que se le presente al usuario se incluye un campo oculto en el que se escribe este token. A la recepción del formulario en el servidor se comprueba que el token se haya recibido y coincida con el almacenado para el usuario. XSRF / CSRF Cross Site Scripting
  12. 12. 12 | Web Attacks XSRF / CSRF Cross Site Scripting Demo XSRF / CSRF
  13. 13. 13 | Web Attacks Path Traversal Path Traversal
  14. 14. 14 | Web Attacks La finalidad de este ataque es ordenar a la aplicación web acceder a un archivo al que no debería poder hacerlo o no debería ser accesible . Path traversal también es conocido como el ../ ataque punto barra, escalado de directorios y backtracking. Como contramedidas podemos realizar lo siguiente: Cuando se realiza una petición URI por un fichero/directorio, se debe construir el path completo del fichero/directorio y normalizar todos los caracteres (ej, 20% convertido a espacios). Asegurarse de que los primeros caracteres de un directorio correcto es exactamente el mismo que el del documento raíz. Path Traversal
  15. 15. 15 | Web Attacks Path Traversal Demo Path Traversal
  16. 16. 16 | Web Attacks Null Byte Null Byte
  17. 17. 17 | Web Attacks Es una técnica de explotación que se utiliza para eludir filtros de control de sanidad sobre una infraestructura web, mediante la adición de una URL codificada por caracteres nulos como: “%00” . Un byte null representa el punto de terminación de cadena, lo que significa detener el procesamiento de su cadena posterior. Como contramedida podemos utilizar magic_qoutes_gpc para que los caracteres: ‘ , “ , , y los NULL sean automáticamente marcados con una barra invertida. Null Byte
  18. 18. 18 | Web Attacks Null Byte Demo Null Byte
  19. 19. 19 | Web Attacks OS Commanding OS Commanding
  20. 20. 20 | Web Attacks Este tipo de ataque se utiliza para la ejecución no autorizada de comandos del sistema operativo. Muchas veces podemos realizar este ataque ingresando “ ; ” o “ | ” dependiendo del sistema operativo en que éste alojado el servidor web. Como contramedida podemos realizar una combinación de validación de listas blancas ( “ whitelists ” ) de toda la información entrante y una apropiada codificación de la información saliente. La validación permite la detección de ataques, y la codificación previene cualquier inyección de secuencia de comandos de ejecutarse exitosamente en el navegador. . OS Commanding
  21. 21. 21 | Web Attacks OS Commanding Demo OS Commanding
  22. 22. 22 | Web Attacks Local File Inclusion Local File Inclusion
  23. 23. 23 | Web Attacks Es utilizada en sitios que permiten el enlace de archivos locales, debido a una mala verificación en la programación de página, que contiene las funciones propias de PHP: include() , include_once() , requiere() , requiere_once() . Solo existe en páginas dinámicas desarrolladas en PHP . Como contramedida podemos recomendar los siguientes items: Filtrar todos los parámetros que un usuario de la página pueda manejar. Asegurarse de que no se pueda acceder a archivos más allá del &quot;Document Root&quot; de la página. Procesamiento correcto del parámetro y de la función que se dedique a recuperar el contenido del fichero que necesitemos. . Local File Inclusion
  24. 24. 24 | Web Attacks Local File Inclusion Demo Local File Inclusion
  25. 25. 25 | Web Attacks Remote File Inclusion Remote File Inclusion
  26. 26. 26 | Web Attacks Es utilizada en sitios que permiten el enlace de archivos remotos, debido a una mala verificación en la programación de página, que contiene las funciones propias de PHP: include() , include_once() , requiere() , requiere_once() . Solo existe en páginas dinámicas desarrolladas en PHP . Como contramedida podemos recomendar los siguientes items: Filtrar todos los parámetros que un usuario de la página pueda manejar. Procesamiento correcto del parámetro y de la función que se dedique a recuperar el contenido del fichero que necesitemos. Si es posible setear la variable de PHP “allow_url_fopen” en off . Remote File Inclusion
  27. 27. 27 | Web Attacks Remote File Inclusion Demo Remote File Inclusion
  28. 28. 28 | Web Attacks Information Disclosure Information Disclosure
  29. 29. 29 | Web Attacks Se presenta básicamente ante un error de configuración del administrador o del usuario, que permite ver mas contenido de lo que se debería ver. Esta información puede ser: Comentarios de los desarrolladores , acceso a la configuración del servidor . Como contramedida podemos utilizar mensajes de error genéricos, en los cuales no se divulgue información interna. Analizar la factibilidad de remover todas las páginas y/o componentes por defecto creados al momento de la instalación del servidor Web. . Information Disclosure
  30. 30. 30 | Web Attacks Information Disclosure Demo Information Disclosure
  31. 31. 31 | Web Attacks SQL Injection SQL Injection
  32. 32. 32 | Web Attacks Es una técnica usada para la inyección de datos en una consulta SQL desde un cliente de la aplicación . El éxito en una inyección SQL puede leer datos sensibles de la base de datos, modificar los datos (insertar/actualizar/borrar), realizar operaciones de administración sobre la base de datos. Cuando la respuesta no esta directamente impresa en el HTML denominamos el ataque como BLIND SQL Injection. Como contramedidas podemos recomendar los siguientes items: Verifique el formato de los datos de entrada y, en particular, si hay caracteres especiales. Ocultar mensajes de error explícitos que muestren la consulta o parte de la consulta de SQL. Mantenga al mínimo los privilegios de las cuentas que se usan; Es recomendable utilizar prepared statements para todos los comandos SQL. . SQL Injection
  33. 33. 33 | Web Attacks Demo SQL Injection SQL Injection
  34. 34. 34 | Web Attacks Blind SQL Injection Demo Blind SQL Injection
  35. 35. 35 | Web Attacks http://www.owasp.org http://www.clubdelprogramador.com.ar http://proyects.webappsec.org http://www.google.com.ar - Referencias -
  36. 36. 36 | Web Attacks Preguntas? - Final - @artsweb

×