gpt4 book ai didi

asp.net - 如果我不限制文件上传到网络服务器的最大请求长度,会出现哪些安全漏洞?

转载 作者:行者123 更新时间:2023-12-02 10:38:15 25 4
gpt4 key购买 nike

我正在为我的 .net MVC 5 网站开发相册功能,最近遇到了 an issue where by default .net limits file uploads to 4 MB .

不想再遇到这个错误,我很想将其设置为像 1 GB 这样的大值。但这似乎可能是一个坏主意。我有 3 个问题:

  1. 如果将文件上传最大长度设置为 1 GB,会出现哪些安全漏洞?

  2. 有人建议我仅在上传到特定目录时增加文件上传长度。这实际上更安全吗?

  3. 在 .net 中,如果我限制 POST、GET 或所有请求的长度,配置文件并不具体。我认为此限制适用于所有请求?

最佳答案

What security holes do I open up if I set the file upload max length to 1 GB?

消耗资源的 DoS 攻击更容易成功。 1GB 可能很高,但如果您需要接受那么大的文件,这对您来说可能是可以接受的风险。此设置取决于您的服务器拥有的资源(特别是内存和磁盘大小)以及应用程序的要求。

是的,恶意用户可能会发布许多小文件而不是一个大文件 - 但这些单独的请求将与对您的服务器的合法请求一起排队。服务器很可能会先于合法邮件处理完恶意邮件。例如,上传 1GB 的恶意用户可能会在处理该文件时阻塞线程,而 1000 个 1 MB 文件造成的负载可以在应用程序的处理过程中分散。

另一种攻击是 DDoS 攻击,可以将其视为同时进行的多次 DoS 攻击。增加单个请求允许的最大长度可能意味着 DDoS 攻击会成功,而普通 DoS 攻击不会成功,因为单个用户只有有限的可用带宽。也就是说,您可以让大量用户更轻松地发布大文件,而在此之前,每个用户的损害程度受到单个文件大小的限制。

Someone recommended that I increase the file upload length only for uploads to a specific directory. Is this actually any more secure?

如果只有有限的用户可以访问允许大文件上传的页面,那么这将限制任何攻击。

这应该有效,因为 AuthorizeRequestcalled before ProcessRequest where the HttpRuntime settings are applied .

In .net, the config files are not specific if I am limiting the length of POSTs, GETs, or all requests. I assume that this restriction applies to all requests?

是的,这适用于所有请求。如果您愿意在 POST 上接受较大的请求,那么在 GET 上允许这样做就不会产生额外的风险。唯一的优势是在入侵检测系统 (IDS) 应用程序级别,因为它能够将大型 GET 请求记录为可疑事件。

关于asp.net - 如果我不限制文件上传到网络服务器的最大请求长度,会出现哪些安全漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28101660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com