Superficie de Ataque, Mapeo, Descubrimiento y Explotación en Ajax

  • Posted on: 22 January 2017
  • By: ReYDeS

Todos los típicos ataques funcionan contra la interfaz de Ajax. Pero esto se hace más fácil por la gran cantidad de código en el lado del cliente quien realiza la lógica del negocio, y se debe entender el flujo de la aplicación. Esto hace más claro el flujo de la aplicación para un atacante con experiencia. El atacante puede incluso acceder a la lógica de la aplicación de una manera inesperada por ésta. Un ejemplo podría ser un carrito de compras el cual permite a un atacante utilizar la autorización de crédito antes de añadir artículos hacia el carrito. Potencialmente esto podría permitir comprar artículos sin una autorización o sin dinero. Funcionan los típicos ataques de inyección SQL, XSS, y las aplicaciones Ajax también está diseñadas para CSRF, pues la funcionalidad es llamada directamente por el código del cliente.

Mapeo en Ajax

Mapear una aplicación Ajax es más difícil en la mayoría de los casos. Esto porque mucha de la funcionalidad de la aplicación es llamada mediante código del cliente o es dinámicamente generada. Las herramientas utilizadas mayormente no están diseñadas para interpretar y evaluar este código. Esto de hecho causa el profesional en pruebas de penetración deba manualmente recorrer el sitio, para asegurarse todas las funcionalidades del objetivo se añadieron al mapa del sitio sobre el cual se trabaja.

Descubrimiento en Ajax

El descubrimiento en Ajax depende grandemente de la habilidad del profesional en pruebas de penetración para interceptar todas las peticiones hechas por la aplicación. Utilizado una herramienta como Zed Attack Proxy se puede interceptar las llamadas. Luego será factible catalogar cada una de las peticiones y sus parámetros para determinar si algunas vulnerabilidades están en la aplicación.

Explotación en Ajax

La explotación de aplicaciones Ajax típicamente no tienen más dificultad comparado con aplicaciones no Ajax. Los problemas podrían ser causados por los temas ya expuestos. Por ejemplo, si una herramienta no es capaz de descubrir las fallas, esta no puede sembrar sus funciones de explotación.

La manera más fácil de solucionar esto es manualmente sembrar las fallas utilizando las herramientas. Por ejemplo, SQLMap aceptar parámetros para atacar como parte de sus argumentos en línea de comandos.

Fuentes:

https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Curso de Informática Forense