views:

69

answers:

2

Hello everybody,

While trying to debug my openid implementation with Google, which kept returning Apache 406 errors, I in the end discovered that my hosting company does not allow to pass a string containing "/id" as a GET parameter (something like "example.php?anyattribute=%2Fid" once URL encoded).

That's rather annoying as Google openid endpoint includes this death word "/id" (https://google.com/accounts/o8/id) so my app is returning 406 errors every time I log in with Google because of this. I contacted my hosting company who told me this has been deactivated for security purposes.

I could use POST instead, for sure. But has anyone got an idea why this could cause security problems ???

A: 

One reason a simple ID in the URL could be a security concern is that a user could see their ID and then type another one in, such as if its an integer they may select the next integer up, and potentially see another users info if it is not protected.

eulerfx
You are both answering the same, so I think I can reasonably ask them to disable this specific feature...Thank you very much !!
ccazette
+4  A: 

It can't, your host is being stupid. There's nothing magical about the string /id.

Sometimes people do stupid things with the string /id, like assuming no one is going to guess what follows, so that example.com/mysensitivedata/id/3/ shows my data because my user has id 3, and being the sneaky sort, I wonder what happens if I navigate to example.com/mysensitivedata/id/4/, and your site blindly lets me through to see someone else's stuff.

If that sort of attack breaks your site, no amount of mollycoddling by your host will help you anyway.

Dominic Rodger