security - IIS7.5 ASP.NET MVC 用户访问奇怪的 URL :/(F(1xe9eXIxPz

标签 security asp.net-mvc-2 iis

我们从少数用户那里得到报告,他们最终在我们的网络应用程序中以非常奇怪的路径结束,形式如下:

https://www.example.com/(F(1xe9eXIxPzMALrZu6xd_6LBxDDlJI3lH2lkSvREZZKCfPBH20SF5EcNql6uXvyBVLgiNZshp9vXxaEzuLa5zm8c4ruux6gqu3B90eXGNmKDypu-wKR4OW_GwQctfjCdoxFYcDlLwglfE6rICL3JGkxtq4jgxggiQgJopKZGzLJ_PF2lHY7NqXya8eDshkP9o8QFDad47U54TMsxEwKCki2xPV9d9VxxjmDhNg7aQb38X_OTxHtf9I7AxiccanJf4m0bo0ceEJ70Mv20XYaMSlA2))/some/path

(注意:我已经更改了随机字符,以防万一它出现某种安全漏洞,所以不要费心尝试解码它 - 尽管如果这样做可能有帮助,请告诉我我在寻找什么,以便我可以在真实的 URL 上执行此操作)。

这会在 IIS 中导致 400,但 IIS 没有记录它,所以我不知道引用者等。

从我们的用户描述来看,它是在这一步引起的:
return Redirect("/some/path");

(这是在 ASP.NET MVC 2 Controller 操作中)。

在 SSL 下运行在 IIS 7.5 上的站点。

有任何想法吗?我从来没有见过这样的东西:s

更新:

我还安装了 ISAPI 重写,如下 .htaccess :
RewriteEngine on
AllowOverride All

# Ensure that all traffic on the live domain is enforced as HTTPS
RewriteCond %{HTTP:Host} (.*)
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (.*)
RewriteRule .? https://%1%2 [R,L]

最佳答案

从 iPad 或 Surface 平板电脑浏览我们的网站时,我们遇到了完全相同的问题。表单例份验证会以某种方式切换到“UseUri”模式。

根据 http://msdn.microsoft.com/en-us/library/1d3t3c61(v=vs.90).aspx在表单例份验证中存储 Auth 票证的默认模式是“UseDeviceProfile”,它显然会检查设备是否支持 cookie。

然后它会说“对于支持 cookie 的设备,不会尝试探测以确定是否启用了 cookie 支持。”。也许有人可以帮助我理解这句话:)

无论如何,我们通过强制表单例份验证在 web.config 文件中使用 cookie 解决了这个问题:

<authentication mode="Forms">
  <forms cookieless="UseCookies" loginUrl="~/Login" timeout="2880" />
</authentication>

关于security - IIS7.5 ASP.NET MVC 用户访问奇怪的 URL :/(F(1xe9eXIxPz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229565/

相关文章:

security - 对不同CMS的安全性有研究吗?

php - 限制授权 php 用户的文件访问

ruby - 如何在 Ruby 中设置和使用 SHA1 哈希

.net - 防止竞争条件

iis - 配置错误: This configuration section cannot be used at this path

ASP.NET MVC 3 文件夹结构

c# - 在 ASP.NET MVC 中发送项目集合

asp.net-mvc-2 - 使用 ASP.Net MVC2 创建我的第一个页面

asp.net - 更改为 Asp.net 4.0 得到 "The page cannot be found"

c# - 在 File.Copy 之后文件正在被另一个进程使用