This is a well known problem, and is discussed in source. We recommend only
using short lived security tokens (1 minute or less) for rendering.
GadgetRenderingContentRewriter automatically inserts a long lived token into
the response body.

On Wed, May 13, 2009 at 4:21 AM, Yoichiro Tanaka <[email protected]>wrote:

> Hi folks,
>
> I'm Yoichiro Tanaka as an architect of mixi Platform in Japan. I
> report on a problem and a solution about a spoofing by Referer here:
>
> Phenomenon:
>
> If an user obtains a referer URL of an OpenSocial application, the
> user can use the application as other's account (= an application
> spoofing).
>
> Replicate:
>
> (1) An application developer writes a code for accessing to an
> external web server by using <img> or <a> tag in an content of an
> OpenSocial application.
>
> (2) The application is used by users on SNS.
>
> (3) The external web server is accessed from the application of the
> user on user's browser by pressing the link or displaying the image.
>
> (4) As a result of accessing to the external server, an iframe's src
> URL for the application is written in an access log of the external
> web server as Referer.
>
> (5) The external web server's owner or any users who can know the URL
> can use the application by using the Referer URL as the user specified
> by a security token included in the URL.
>
> Cause:
>
> It is a cause that the st parameter is included in the src attribute
> value of iframe.
>
> Risks:
>
> The user's individual information can be acquired by spoofing as other
> users and using the application with the referer URL.
>
> React:
>
> It is a problem that the st parameter with the authentication
> information is included in Referer. If the st parameter is excluded
> from URL recorded as Referer, the spoofing can be prevented.
>
> Therefore, it is better that the Security Token value is passed as URL
> Fragment.
>
> NG: http://.../...?st=abcdefg&;...
> OK: http://.../...?...#st=abcdefg
>
> When main browsers transmits URL to the request header as Referer, URL
> Fragment is not sent. Because the st parameter comes to never include
> Referer that remains in the access log of external Web server, the
> spoofing can be prevented.
>
> Can anyone mention or advice about this?
>
> Thanks,
> -Yoichiro
>
> --
> Yoichiro Tanaka
> Email: [email protected]
> Blog: http://www.eisbahn.jp/yoichiro
>

Reply via email to