【发布时间】:2017-07-02 22:28:09
【问题描述】:
假设您的网站受到 XSS 攻击。 黑客可以使用 cookie 发出任何请求。 那么,向客户端隐藏这个值有什么意义呢?
【问题讨论】:
标签: http security cookies xss csrf
假设您的网站受到 XSS 攻击。 黑客可以使用 cookie 发出任何请求。 那么,向客户端隐藏这个值有什么意义呢?
【问题讨论】:
标签: http security cookies xss csrf
在 XSS 攻击中,“黑客可以使用 cookie 发出任何请求”,但并非所有 cookie。如果一个cookie是HttpOnly,那么客户端JavaScript就无法访问它,这意味着黑客无法读取cookie值并将其发送到自己的服务器,甚至不知道这个cookie是否存在。
通常,当HttpOnly 用于保护cookie 时,cookie 的Domain 也会被设置(如果HTTP 响应的Set-Cookie 标头中缺少Domain,浏览器会将cookie 的域设置为该HTTP 连接的主机名) .黑客可以触发 HTTP 请求,让浏览器在请求中放入HttpOnly cookie,但是会受到 cookie 的Domain 的限制——只有当它的Domain 匹配 HTTP 请求时才会发送 cookie。因此,带有网站Domain 的HttpOnly cookie 是安全的,不会泄露给XSS 攻击者。
【讨论】:
HttpOnly cookie 放入 HTTP 请求中。但通常 cookie 会有一个Domain 属性,它限制在请求中发送的 cookie。对于带有网站Domain 的HttpOnly cookie,XSS 攻击者只能触发 HTTP 请求并将该 cookie 发送到网站服务器。他/她无法将该 cookie 发送到他/她自己的服务器,从而保证 cookie 的安全。
那么 Http Only cookie 只能被服务器访问。无法从 JavaScript 访问它们。这意味着黑客将更难将这些 cookie 用于自己的用途。
Http Only cookie 降低了网站受到跨站脚本攻击的可能性。
查看此链接了解更多信息:https://www.owasp.org/index.php/HttpOnly
【讨论】: