Recentemente ho aderito a un progetto di sicurezza e ho ricevuto un'attività per dimostrare il rischio relativo a un utente finale che carica un'immagine contenente codice JavaScript (dannoso) incorporato.
Ho utilizzato EXIFeditor per inserire codice JavaScript nel tag imgdescription
di un'immagine, quindi caricato l'immagine su ASP.NET server web utilizzando il seguente codice 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
è un elemento <asp:Image/>
e Upload_fu
è un elemento <asp:UploadFile/>
.
Il codice JavaScript che ho incorporato nell'immagine è un semplice alert("Hello world")
. Tuttavia, il codice non viene eseguito (l'ho provato con FireFox 21 e Internet Explorer 9).
Che cosa sto sbagliando?