将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。你的期望是错误的。这与c#或。net完全无关。你要做的是从图像元数据中读出javascript(通过使用javascript),然后通过调用eval或做类似的事情来执行你读出的javascript。
您可以在这里找到类似的示例:http://blog.sucuri.net/2014/02/new-iframe-injections-leverage-png-image-metadata.html