7

我希望我的服务有这样一个功能:作者可以完全自定义页面,但不能窃取用户的 cookie。

Tumblr 遇到了一些麻烦,但成功解决了它们http://www.riyazwalikar.com/2012/07/stored-persistent-xss-on-tumblr.html

所以我需要解决方案

  1. 没有节制
  2. 对用户作者页面的 html 代码的完全访问权限,不想要白名单过滤和模板语言(这就是它现在的工作方式:()
  3. 没有机会窃取彼此的 cookie(在其他作者的页面上)
  4. 集中认证数据库
  5. 可取的:在每个作者页面上都没有身份验证

据我了解tumblr:

  1. 单独的域无法访问彼此的 cookie
  2. 用户仍然在每个子域上进行身份验证(如何??? www.tumblr.com js 可以访问主会话 cookie?这安全吗?)
  3. 身份验证 cookie 应该是 httponly?

我可以为用户提供安全舒适的解决方案吗?cookie 盗窃是完全访问 html 的主要问题吗?

4

1 回答 1

3

我希望我的服务有这样一个功能:作者可以完全自定义页面,但不能窃取用户的 cookie。

所以我猜你想为他们启用 javascript 但你不想允许操纵 cookie。这应该很简单:只需在用户页面加载之前放置它:

if (document.__defineGetter__)
{    
    document.__defineGetter__("cookie", function () { return ""; } );
    document.__defineSetter__("cookie", function () { } );
}
else // IE
{
    Object.defineProperty(document, "cookie",
    {
        get: function () { return ""; },
        set: function () { return true; },
    });
}

用户仍然在每个子域上进行身份验证(如何??? www.tumblr.com js 可以访问主会话 cookie?这安全吗?)

这也很简单——cookies 支持这一点。它的domain属性:

Set-Cookie: name=value; path=/; domain=.example.com

身份验证 cookie 应该是 httponly?

当然 - 它们应该是为了更好的安全性。

于 2013-08-18T14:42:46.263 回答