¿Cómo inyecto JavaScript en una imagen JPG y lo ejecuto cuando se carga?

0

Recientemente me uní a un proyecto de seguridad y recibí una tarea para demostrar el riesgo relacionado con un usuario final que carga una imagen que contiene un código JavaScript incrustado (malicioso).

Utilicé EXIFeditor para inyectar el código JavaScript en la etiqueta imgdescription de una imagen, luego subí la imagen a ASP.NET servidor web utilizando el siguiente código C #:

protected void Upload_File(object sender, EventArgs e)
{
    var postedFile = Upload_fu.PostedFile;
    string fileName=new FileInfo(postedFile.FileName).Name;
    string path = Server.MapPath("~/images/" + fileName);
    postedFile.SaveAs(path);
    Success_msg.Text = "successfully saved";
    img_sr.ImageUrl = "~/images/" + fileName;
}

Nota: img_sr es un elemento <asp:Image/> , y Upload_fu es un elemento <asp:UploadFile/> .

El código JavaScript que he incrustado en la imagen es un simple alert("Hello world") . Sin embargo, el código no se ejecuta (lo intenté con FireFox 21 e Internet Explorer 9).

¿Qué estoy haciendo mal?

    
pregunta Sora 27.05.2014 - 08:40
fuente

1 respuesta

1

Cree una página HTML donde muestre la foto y, junto a ella, muestre la información EXIF. El javascript EXIF probablemente debería estar incluido en las etiquetas de script HTML. Si no escapa la información EXIF cuando la muestra en la página, debe ejecutar el javascript.

    
respondido por el SPRBRN 27.05.2014 - 12:11
fuente

Lea otras preguntas en las etiquetas