2012-07-21 17 views
6

¿Qué agujeros de seguridad pueden aparecer en mi sitio al incluir imágenes externas a través de la etiqueta img y cómo evitarlas?Vulnerabilidades de imagen externa

estoy actualmente sólo el control de la extensión y mime-type de la imagen en la presentación (que se puede cambiar después se somete URL) y URL es verificada antes de ponerlo en src atributo.

+2

¿Puedo preguntar cómo está revisando la extensión específicamente, y cuando dice que las cosas se pueden cambiar después de que se envía la URL, quiere decir con el usuario o usted? – Rhys

+0

Seguramente por el usuario (propietario del servidor donde se almacena la imagen). No es tan difícil colocar un AddHandler en .htaccess y marcar .jpeg como ejecutable. Todos los sniffers web se hacen de esta manera – Noobie

Respuesta

4

Probablemente haya una diferenciación entre aquí que está en riesgo.

Si todo lo que hace es almacenar URL y no cargar imágenes en su servidor, entonces su sitio es probablemente seguro, y cualquier riesgo potencial es para los usuarios que visitan su sitio.

En esencia, confía en la fiabilidad de los fabricantes de navegadores. Las cosas podrían estar bien, pero si surgiera un agujero de seguridad en algún navegador que usa uno de los usuarios que implique el análisis incorrecto de imágenes que contienen código malicioso, entonces serán sus usuarios quienes terminarán pagándolo (puede encontrar GIFAR interesante)

Todo depende de si confía en los fabricantes de navegadores para crear software seguro, y si confía en que sus usuarios no carguen URL a las imágenes que puedan contener explotaciones para ciertos navegadores. Lo que podría estar seguro ahora podría no ser seguro en la próxima versión.

+0

¡Gracias! Por la buena respuesta y por compartir información sobre GIFAR – Noobie

3

Los orificios primarios que se pueden exponer son aquellos en los que las imágenes dañadas provocan desbordamientos del búfer dentro del navegador, lo que permite la ejecución de código arbitrario.

Si sólo se está poniendo las imágenes en una etiqueta <img> no shoudln't ser cualquier vulnerabilidades relacionadas con el envío de los tipos MIME alternativas, pero nunca hay que subestimar la estupidez de algunos desarrolladores de navegadores web ...

+0

Entonces, ¿el principal problema son los navegadores? ¿Hay alguna forma de proteger estas imágenes externas o algo así? – Noobie

+1

Descárguelos, examínelos en busca de vulnerabilidades conocidas. Pero me temo que nadie lo hace, por eso es tan importante usar navegadores seguros. Desearía que hubiera algunos informes/proyectos descubriendo cuán seguros son en la actualidad todos los navegadores web. Cuando veo con qué frecuencia mi sistema operativo se actualiza, el navegador debería actualizarse cada dos días, diría yo. – hakre

3

Bueno , obviamente, no está haciendo ningún control sobre los datos, por lo que los datos pueden ser cualquier cosa (el tipo de mimo reportado por el servidor remoto no necesariamente dice la verdad). Además, como dijiste, los datos en el servidor remoto pueden modificarse, ya que nunca los estás mirando después del envío.

Como tal, si el enlace se pone en decir un < img src = "..."/>, entonces cualquier vulnerabilidad que un navegador pueda tener en el manejo de imágenes puede ser explotada.

"Sanitizar" la URL no ayuda con nada: alguien que envía un enlace que apunta a una imagen "mala" no va a atacar a su propio servidor.

+0

¿Qué hay de CSRF? XSS? – Noobie

+0

¿Y qué tipo de controles debo hacer con los datos? – Noobie

Cuestiones relacionadas