2011-11-26 18 views
14

Me gustaría saber si es posible insertar algún código javascript a través de una etiqueta img. El escenario es que uno configura una página html como estaInyección javascript thourgh <img> -tag

<img src="anotherdomain.com/someimage.jpg" /> 

Anotherdomain es mi dominio. ¿Es posible redirigir la llamada para /someimage.jpg a otro archivo que contiene un código javascript que se ejecuta cuando se solicita la imagen?

+2

No estoy seguro de por qué esto fue downvoted. Es una pregunta razonable y no una que la respuesta se pueda encontrar fácilmente mediante una búsqueda en Internet. –

+0

Es una buena pregunta, ya que IE tiene un historial de obedecer los tipos de contenido que envían los servidores, sin importar cuáles sean. Parece que este ya no es el caso, afortunadamente. – mdenton8

Respuesta

8

El navegador no debe hacer un intento para ejecutar código recibido a través de una etiqueta <img> como JavaScript. El script se entregaría al navegador, pero en su lugar sería una imagen rota que no se podría mostrar.

navegadores sólo ejecutará las secuencias de comandos recibidos en una etiqueta o <script>onclick,onmouseover,onmouseout,etc... atributos como un principio básico de seguridad

+0

así que lo único "divertido" que puede hacer es redirigirlo a otra imagen? –

+2

@MathiasBak Bastante - o envíe un archivo que sea muy grande, comiendo el ancho de banda del cliente (y del servidor de origen). –

+0

Gracias por el consejo. –

2

no, todos los principales navegador no aceptará el código Javascript en este punto

1

No. El problema (si se quiere llamar así) es que la URL en cuestión se interpreta como datos de imagen , no como una secuencia de comandos JS. Entonces, independientemente de lo que sea o cómo se redirija, no se evaluará como JS.

Nota: < secuencia de comandos > etiquetas funcionan de dominio cruzado, por lo que probablemente debería utilizar eso.

Cuestiones relacionadas