【发布时间】:2013-12-22 11:28:16
【问题描述】:
我有一个图片库并正在通过以下方式渲染图片
<a href="/Gallery/GetImage?Name=sample.jpg>Imagename</a> //user clicks hyperlink to download file
<img src=""/Gallery/GetImage?Name=sample.jpg"> //Displaying the image
我的 GetImage() 函数在下面,我将在其中获取图像并返回它。
public ActionResult GetImage(string Name)
{
..
...
return File(FilePath, Type, Name); //Filepath - server folder where image located
//Name is File name
}
这是否违反安全规定。错误显示在返回文件的行。
有没有更好的方法可以处理这个问题?
我怎样才能避免这种违规行为?
非常感谢任何建议
谢谢
【问题讨论】:
-
攻击者可能能够传入以
..开头的文件名来导航文件系统并允许下载任意文件。您可以对文件名应用一些严格的过滤来防止这种情况发生。
标签: c# asp.net-mvc security veracode