2012-04-04 89 views
1

假定用户在其帐户上有私人内容。像任何社交网站一样,当他们浏览他们的账户时,用户可以看到很多关于他们的信息。所有这些请求都被标记了吗?创建模式并标记所有请求并在处理之前检查它们是否是一个好的理念?任何消化?
做所有基于私人帐户系统的应用程序tokenise所有请求?是否应为每个请求包含csrf标记?

P.S. :这是一种可能的攻击:用户登录社交网站(“x”),保持沉默,进入另一个网站(“y”)。网站y有一个按钮,可以获取包含用户最新帖子的x站点的首页内容。由于用户被锁定,数据将显示...

你将如何为每个请求设置一个csrf标记机制?设置一个中间进程,将请求重定向到最终处理页面(如果其有效的请求)?或...任何其他ideeas?我错了吗?我看到错误的东西吗?

在这里,我问了同样的问题,并得到了正确的最终答案:https://stackoverflow.com/a/10006276/1284817。这里验证的答案也可以阅读。

回答

0

CSRF令牌通常只附加在代表用户的事物上(如POST请求)。从观看私人数据保护攻击者就简单多了,确实就在所有流行的浏览器是烤:

为了保护袭击者观看私人数据(而不是修改它),你通常会依赖于浏览器的same origin policy,并确保你的请求不支持Cross-origin resource sharing

在你的建议攻击的具体例子中,攻击者请求example.org/private,浏览器将抛出一个异常,看起来像这样在我的浏览器:

XMLHttpRequest cannot load http://example.org/private. Origin http://attacker.com is not allowed by Access-Control-Allow-Origin. 
相关问题