如何使用JavaScript读取安全的cookie

有没有什么办法用JavaScript读取安全的cookie? 我试图用document.cookie做到这一点,据我所知,这里http://securitymusings.com/article/909/secure-cookies-the-httponly-flag我不能这样访问一个安全的cookie。

任何人都可以提供我一个解决方法?

HTTPOnly标志被设置时,不同的浏览器启用不同的安全措施 。 例如,Opera和Safari不会阻止JavaScript写入cookie。 但是,所有主stream浏览器的最新版本都禁止阅读。

但更重要的是, 为什么你要阅读一个HTTPOnly cookie? 如果您是开发人员,只需禁用该标志,并确保您testing您的代码为xss 。 我build议您尽可能避免禁用此标志。 应该始终设置HTTPOnly标志和“安全标志”(强制cookie通过https发送)。

如果你是攻击者 ,那么你想劫持一个会话 。 但是有一个简单的方法来劫持一个会话,尽pipeHTTPOnly标志。 您仍然可以在不知道会话ID的情况下参加会议。 MySpace Sammy蠕虫就是这么做的 。 它使用XHR读取CSRF令牌,然后执行授权任务。 因此,攻击者几乎可以做任何logging用户可以做的事情。

人们对HTTPOnly标志太有信心,XSS仍然可以被利用。 你应该设置敏感function的障碍。 如更改密码字段应该要求当前的密码。 pipe理员创build新帐户的能力需要validation码,这是一种CSRF防范技术 ,不能轻易绕过XHR。

HttpOnly cookies的重点在于它们不能被JavaScript访问。

脚本读取它们的唯一方法(除了利用浏览器错误)是在服务器上有一个协作脚本,它将读取cookie值并将其作为响应内容的一部分进行回显。 但是,如果你能做到这一点,为什么首先使用HttpOnly cookie呢?