通过打开relaxedUrlToFileSystemMapping允许有部分与结尾的网址。“”任何潜

2019-06-26 12:15发布

我们有在当URL有任何部分与结尾我们的应用程序失败的问题“” 在里面'; 我们不能避免这种由于功能需求。 建议的解决方案是把在web.config文件relaxedUrlToFileSystemMapping。 我们想知道,如果有这种方法的任何潜在的安全风险。

没有网址的格式: http://server.com/path1/krishnakk./path2

它返回一个404错误。

Answer 1:

尽管这个问题是七个月大,这里是万一有人回答别人遇到这样的情况。

关于这个问题的安全部分,默认情况下relaxedUrlToFileSystemMapping设置为false,和ASP .NET假设URL的路径部分是一个有效的NTFS文件路径。 如果您通过设置禁用此relaxedUrlToFileSystemMapping为真,那么你就可能打开你的网站进行攻击,因为你禁用由ASP .NET提供的默认保护。

如果你绝对需要设置relaxedUrlToFileSystemMapping为true,你也应该确保您验证的应用程序的需求约束下的所有URL。



Answer 2:

有点晚了党,但我想我会增加对我工作。

我只是遇到了这个今天,幸好能解决它。 解决的办法是通过包含的点(周期)作为查询字符串,而不是URL的一部分的值。 你失去了具有净URI查询字符串没有的优雅,但它工作在不降低安全性或更改任何设置。

例如, HTTP://localhost/Home/hi.how:areyou ,因为它包含了两个非法字符作为URI,点和结肠的一部分将失败。 然而HTTP://localhost/Home/id=hi.how:areyou将很好地工作。

道具斯科特Hanselman的是,将一如既往,已经在博客几乎所有疯狂的场景,而这样做.NET开发的一个可能会遇到的问题。



文章来源: Any potential security risks with turning on relaxedUrlToFileSystemMapping to allow URLs having part ending with '.'?