lunes, 9 de julio de 2018

Ataques Web - Redirecciones y reenvíos no validados

Redirecciones y reenvíos no validados

Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios hacia otras páginas o sitios web, y utilizan datos no confiables para determinar la pagina de destino. Sin una validación apropiada, los atacantes pueden redirigir a las víctimas hacia sitios de phishing o malware, o utilizar reenvíos para acceder a páginas no autorizadas.

Como detectarlo


La mejor forma de determinar si una aplicación dispone redirecciones o reenvíos no validados, es:
  1. Revisar el código para detectar el uso de redirecciones o reenvíos. Para cada uso, identificar si la URL objetivo se incluye en el valor de algún parámetro. Se es así, si la URL objetivo no es validada con una lista blanca, usted es vulnerable.
  2. Además, recorrer la aplicación para observar si genera cualquier redirección códigos de respuesta 300-307, o el típico 302) Analizar los parámetros facilitados antes de la redirección para ver si parecen ser una URL de destino o un recurso de dicha URL. Se es así, modificar la URL de destino y observar si la aplicación redirige al nuevo destino.
  3. Si el código no se encuentra disponible, se deben analizar todos los parámetros para ver si forman parte de una redirección o reenvío de una URL de destino y probar lo que hacen estos.

    Como prevenirlo


    El uso de reenvíos y redirecciones puede realizarse de varias maneras:

    1. Simplemente evitando el uso de redirecciones y reenvíos. 
    2. Se se utiliza, no involucrar parámetros manipulables por el usuario para definir el destino. Generalmente esto puede realizarse. 
    3. Se los parámetros de destino no pueden ser evitados, asegúrese que el valor suministrado sea válido y autorizado para el usuario.

    Se recomienda que el valor de cualquier parámetro de destino sea un valor de mapeo, el lugar de la dirección URl real o una porción de esta y en el código del servidor traducir dicho valor a la dirección URL de destino. Las aplicaciones pueden utilizar ESAPI para sobrescribir el método sendRedirect() y asegurarse que todos los destinos redirigidos son seguros.

    Evitar estos problemas resulta extremadamente importante ya que son un blanco preferido por los phishers que intentan ganarse la confianza de los usuarios.

    No hay comentarios:

    Publicar un comentario