gpt4 book ai didi

security - 防止跨站点请求伪造 - 永远不要依赖 Cookie header 中发送到您服务器的 SessionID

转载 作者:行者123 更新时间:2023-12-04 19:22:17 26 4
gpt4 key购买 nike

我正在阅读教程

http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ

它指出

Remember - you must never rely on the sessionID sent to your server in the cookie header ; look only at the sessionID that your GWT app sends explicitly in the payload of messages to your server.



是否用于预防 http://en.wikipedia.org/wiki/Cross-site_request_forgery#Example_and_characteristics

有了这个神话,就足以防止上面的攻击了吗?

最佳答案

是的,足以防止跨站点请求伪造。

cookie 中的 sessionid 不可信。假设用户登录到 mysite.com 并且 session ID 在 cookie 中。现在用户点击了一个指向 evilsite.com 的链接。 evilsite.com 有这样的代码

<img src="http://mysite.com/transfermoney.jsp?amount=1000.." />

浏览器将向 mysite.com 发出请求, 它还会发送带有 session ID 的 cookie。这里要理解的是,evilsite.com 无法读取 cookie,但它仍然可以完成其工作。

浏览器同源策略阻止 evilsite.com 读取 session 标识符,无论是在 cookie 中还是嵌入在 html 页面中。但是因为即使资源是从另一个域中的 html 代码请求的,浏览器也会自动将 cookie 发送到您的服务器,所以您有 XSRF。

为了防止这种情况,建议将 session 标识符作为请求参数。如果将其添加为请求参数,则 evilsite.com 无法访问该标识符,因此无法将其放入 img src 属性中。

但是,请记住,如果您的站点存在 XSS 漏洞,则没有什么可以阻止您使用 XSRF。换句话说,如果您有 XSS 漏洞,攻击者甚至不会关心执行 XSRF。

关于security - 防止跨站点请求伪造 - 永远不要依赖 Cookie header 中发送到您服务器的 SessionID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com