为什么“/ id”作为HTTP GET参数会出现安全漏洞?

时间:2009-10-01 15:45:25

标签: apache hosting web-hosting security

在尝试使用Google调试我的openid实现时​​,我一直发现我的托管公司不允许将包含“/ id”的字符串作为GET参数传递(类似于“示例” .php?anyattribute =%2Fid“一旦URL编码)。

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

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

2 个答案:

答案 0 :(得分:4)

它不能,你的主人是愚蠢的。字符串/id没有什么神奇之处。

有时人们会使用字符串/id做愚蠢的事情,就像假设没有人会猜到后面的内容一样,以便example.com/mysensitivedata/id/3/显示我的数据,因为我的用户有id 3,并且作为偷偷摸摸的排序,我想知道如果我导航到example.com/mysensitivedata/id/4/会发生什么,并且你的网站盲目地让我看到别人的东西。

如果这种攻击破坏了您的网站,那么主办方的任何摩尔都不会帮助您。

答案 1 :(得分:1)

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