Ataques URL de tipo semántico
Este
tipo de ataques involucran a un usuario modificando la URL a modo de
descubrir acciones a realizar que originalmente no están planeadas para
ser manejadas correctamente por el servidor. La implementación de
cualquier formulario debe contemplar validaciones necesarias para evitar
esas acciones y se deben realizar adecuaciones de acuerdo a nuestras
entradas.
En
el ejemplo anterior los parámetros, que son enviados con el método GET,
se agregan directamente en la URL, lo que produce que atacantes
inexpertos puedan utilizarlos, ya que son solo un poco más fáciles de
capturar y modificar que los enviados de forma oculta desde el navegador
(POST).
Ataques de Cross-Site Scripting
Cross-Site
Scripting (XSS) es un tipo de vulnerabilidad de seguridad informática
típicamente encontrada en aplicaciones web que permiten la inyección de
código por usuarios maliciosos en páginas web. Los atacantes típicamente
se valen de código HTML y de scripts ejecutados en el cliente. (OWASP,
2014)
Ataques de Cross-Site Request Forgery
Este
tipo de ataque permite al atacante enviar peticiones HTTP a voluntad
desde la máquina de la víctima. Es difícil determinar cuándo una
petición HTML se ha originado por un ataque de este tipo.
Cuando
un atacante conoce el formato que debe tener una URL para lograr la
ejecución de una acción en el sistema, ha logrado encontrar la
posibilidad de explotar este tipo de ataques. Ahora lo que necesita el
atacante es simplemente hacer que una víctima visite la URL.
Un
recurso que se utiliza comúnmente para realizar este tipo de ataques
suele tener embebida la petición en una imagen. En este caso el atacante
sólo necesita crear alguna etiqueta HTML del siguiente tipo:
<img src="http://ejemplo.org/compra.php?param=valor¶m2=valor" />
Existen
acciones que podemos tomar para contrarrestar este tipo de ataques, una
de estas es preferir el método POST para el procesamiento de formas en
lugar del GET, otra posibilidad es solicitar confirmación por parte del
solicitante antes de realizar los procesos (a costa de reducir la
usabilidad en la aplicación).
Peticiones HTTP falsificadas:
Un ataque más sofisticado que el anterior es enviar peticiones falsas empleando herramientas especiales para este propósito.
Para
ello, se emplean herramientas de línea de comandos o plugins agregados a
los navegadores, con estos se pone a la escucha de los servicios web
que típicamente se conectan a través del puerto 80. En la ilustración
podemos observar los campos que pueden modificarse con Tamper Data.
No hay comentarios:
Publicar un comentario