2009-10-01 64 views
1

虽然试图调试我与谷歌的OpenID的实现,它不停地返回Apache的406错误,我最终发现,我的托管公司不允许通过包含“/ ID”作为一个GET参数(如“例如一些字符串。 php?anyattribute =%2Fid“一次URL编码)。为什么“/ id”作为HTTP GET参数会成为安全漏洞?

这很烦人,因为Google openid终端包含这个死亡词“/ id”(https://google.com/accounts/o8/id),所以我每次使用Google登录时都会返回406个错误。我联系了我的托管公司,他告诉我这是为了安全目的而停用的。

我可以使用POST,肯定的。但有谁知道为什么这可能会导致安全问题?

+1

为什么不在您的托管公司再次联系,并要求有关问题的更多细节? – Anax 2009-10-01 15:51:07

+0

您是否要求托管公司解释*为什么*他们认为这是一个问题?如果他们无法向你解释,那么他们不知道他们为什么这样做,这表明他们可能不知道他们在做什么更广泛的意义;在这种情况下,您可能会考虑转移到其他公司。 – NickFitz 2009-10-01 15:52:47

+0

那么,他们只是回答说他们使用http://www.modsecurity.org/作为他们的安全模块,我应该向其文档报告。 所以,它可以发生在任何有托管公司使用这个模块,我想。 我不确定我是否与技术人员交谈过,但无论如何,我想我现在已经得到了答案,并要求他们禁用此特定功能。 感谢大家! – ccazette 2009-10-02 10:12:16

回答

4

这不可能,你的主机是太傻了。有没有什么神奇的字符串/id

有时候,人们做愚蠢的事情串/id,就像假设没有人会猜到接下来,让example.com/mysensitivedata/id/3/显示我的数据,因为我的用户有id 3,并且是偷偷摸摸排序,不知会发生什么我导航到example.com/mysensitivedata/id/4/,你的网站一目了然地让我通过看到别人的东西。

如果这类攻击伤了你的网站,你的主机没有mollycoddling的量会帮助你的好意。

1

一个原因在URL中一个简单的ID可能是一个安全问题是用户可以看到他们的ID,然后键入一个又一个的,比如如果他们可以选择下一个整数起来,并有可能看到另外一个整数用户信息,如果它不受保护。

+0

你们都回答相同,所以我想我可以合理地要求他们禁用这个特定的功能...... 非常感谢! – ccazette 2009-10-02 10:03:54