首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用FileUpload控制asp.net的安全风险或担忧-以及建议的解决方案

使用FileUpload控制asp.net的安全风险或担忧-以及建议的解决方案
EN

Stack Overflow用户
提问于 2011-02-11 08:18:45
回答 2查看 2.8K关注 0票数 0

我必须创建一个实用程序,通过该实用程序,用户可以使用asp.net FileUpload服务器控件上载singh或多个文件。

我也在寻找同样的安全问题。在我们的头脑中,哪些要点侵犯了安全。在我看来,一个主要的问题是与病毒有关--手段。

  1. 如何提示用户获取病毒并终止上传操作
  2. 如何在上传操作

期间扫描病毒文件

可能有几个安全风险。请与建议的解决方案讨论这些问题/风险。

对此的任何答复都是非常有价值的。

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2011-02-11 11:48:22

风险集中在这样一个事实:淘气的人会上传那些可以在web服务器机器上执行的东西,并造成问题。

防止恶意文件上传相关问题的一种实用方法是通过检查PostedFile.ContentType属性限制服务器将接受的文件类型。这将识别MIME类型。最好排除像.exe这样的东西,当然,在MS生成的文件(如.doc.xls )中存在宏和VBA自动化方面的问题。

这里有一个“如何”:How to restrict file type in FileUpload control

票数 2
EN

Stack Overflow用户

发布于 2018-06-01 15:46:11

根据我在开发文件共享系统方面的经验,检查文件扩展名很简单,但还不够,iis 6中存在一个漏洞,黑客可以通过添加一个";“到文件名的一部分,并将它们的shell脚本作为图像上传到其中,从而绕过此检查!

最好的方法是保存用户上传的文件,例如,如果站点文件夹是:

c:\hosting-space\myuser\mydomain.com\www-root\

您的代码必须将文件保存到:

c:\hosting-space\myuser\mydomain.com\USERUPLOADs\

通过这个技巧,iis用户不能直接访问上传的病毒或shell脚本!

并使用.aspx文件间接读取文件流。

代码语言:javascript
运行
复制
<img src="/loadfiles.aspx?name=?????" />

好处很多,例如,您可以编写一个统计计数器或检查用户会话,或者避免跨站点访问您的用户文件,无论您需要一些编码技巧来添加对拥抱文件的下载简历支持,并且应该负责脚本超时和.

我自己没有测试的其他解决方案是使用web.congif来避免来自upload文件夹的运行脚本权限:

代码语言:javascript
运行
复制
<location path="upload">
<system.webServer>
    <handlers accessPolicy="Read" />
</system.webServer></location>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4966893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档