将javascript代码注入到JPG图像中,并在使用c#上传时执行代码

本文关键字:代码 执行 注入 javascript JPG 图像 | 更新日期: 2023-09-27 18:05:13

我最近一直在一个安全项目中工作,我有一个任务来证明javascript代码注入可以在用户上传恶意图像时完成,如果不处理,这是缺乏安全性的。我所做的是我使用EXIFeditor注入图像与一些javascript代码,然后我上传图像到浏览器使用这个代码

 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;
}

其中img_sr<asp:Image, Upload_fu<asp:UploadFile我注入的javascript代码是一个简单的alert("Hello world")问题是代码没有被执行。我在火狐21和IE 9上都试过了,我把我的问题贴在了信息安全网站上,但是没有人回答,我希望你们能帮忙。谢谢

将javascript代码注入到JPG图像中,并在使用c#上传时执行代码

浏览器不会自动从图像元数据执行javascript。你的期望是错误的。这与c#或。net完全无关。你要做的是从图像元数据中读出javascript(通过使用javascript),然后通过调用eval或做类似的事情来执行你读出的javascript。

您可以在这里找到类似的示例:http://blog.sucuri.net/2014/02/new-iframe-injections-leverage-png-image-metadata.html