[security] Phishing issues with return_to url and realm

Allen Tom atom at yahoo-inc.com
Thu Feb 8 06:20:28 UTC 2007


Hi Johnny,

Having the OP follow all the redirects returned by the return_to all the 
way to the end, and presenting the final url to the user might seem to 
be an improvement, however, the evil RP could just be one of many 
intermediate servers, which would enable all sorts of interesting man in 
the middle type attacks.

so for instance:

return_to=go.com/redirect?1,2,http://evilsite.com/redirect?....good.isp.com

If the OP just followed redirects to the end of return_to url, and then 
matched it up with the realm, the evil RP could claim to be absolutely 
anything that it wants to be, since the evil RP could just be the 
redirect server, and the claimed site would just be at the end.

evilsite.com would be able grab a positive Auth Response and play it to 
good.isp.com in a Stateless type request. EvilSite.com could even behave 
nicely when the OP is probing it (perhaps by recognizing the OP's IP 
address or User Agent).

At any rate, when serving an Auth Request, the OP only knows the 
return_to url,  so there should be a way in the protocol for the OP to 
somehow verify the return_to url. Instead of performing the verification 
on every request, the OP and the RP could register themselves and do 
whatever verification is required during the association process.

One possibility would be for the RP to pass its return_to url when 
making the Association Request, and the OP can probe it before returning 
the assoc_handle and secret. It might be sufficient for the OP to just 
bind that assoc_handle to the return_to url, so one possible 
implementation would be for the OP to encrypt details about the 
association into the assoc_handle, so that the given assoc_handle can 
only be used for that return_to. However, it might be necessary for the 
OP to verify that the RP owning the return_to URL actually initiated the 
Association  request, so perhaps an additional round trip would be 
needed after the association is initiated.

Allen



Johnny Bufu wrote:
>
> Another simpler (though maybe not as solid) solution would be for the 
> OP to perform a fetch on the return_to URL and present the final URL - 
> after following the redirects - in the message to the user. So the 
> user will actually see that he's about to go to http://www.jyte.com, for:
>
>     return_to=http://www.aol.com/ams/clickThruRedirect.adp?1,2,http://www.jyte.com 
>
>
> If the rogue RP further tries to hide itself by setting 
> realm=*.aol.com, the realm verification performed by the OP will fail 
> (again, using the return_to URL after following redirects).
>
>
> Johnny
>
>
>




More information about the security mailing list