【问题标题】:Is using GET with a tokenID for security a good idea?使用带有 tokenID 的 GET 来确保安全是个好主意吗?
【发布时间】:2011-01-15 15:12:36
【问题描述】:

我是 thinking about this,它看起来只是 POST 不那么容易受到攻击并且更难(要求用户点击某些东西)。

我阅读了有关令牌 ID 和双重提交 cookie 的信息,但我不确定有什么区别

http://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet#Disclosure_of_Token_in_URL http://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet#Double_Submit_Cookies

现在我有用户 ID(我的表中的 PK)和会话 ID,因此您不能简单地更改您的 cookie ID 并像其他人一样行事。现在似乎我将会话 ID 作为令牌放入每个表单中并检查它们,因为攻击者无法猜测这些令牌。但是,我不喜欢将会话 ID 放入页面以供 ppl 看到的想法。但实际上,这样做有问题吗?如果没有让用户复制/粘贴 html,是否会由于会话 id 在 html 中的普通视图而发生任何攻击?

【问题讨论】:

    标签: html security http csrf


    【解决方案1】:

    如果用户可以复制带有令牌的链接,这是非常不安全的。当前地址也是如此:如果您使用静态会话 ID,则对外部站点的引用或屏幕截图将导致会话受到威胁。即使您没有静态会话 ID,用户也可以将鼠标悬停在一个链接上,该链接会显示在浏览器底部,然后截取屏幕截图,再次显示他的会话受到攻击。

    【讨论】:

    • 您对屏幕截图有意见,但我假设 1) 用户不会将钥匙交给 2) 没有链接。 (表单中的隐藏值)。由于我必须在表单中拥有令牌(出于双重提交 cookie 的目的),因此如果它必须是 html 的一部分,则无法隐藏它。现在在我的实现中,我还没有通过链接看到它。
    • 我会给你一个+1,因为我从没想过视频捕捉软件或屏幕截图(但我想如果安装了 vid cap 键盘记录器也可以)。我将修改我的代码以使用会话和单独的表单令牌
    • 我在想更多的是,用户会被说服截取屏幕截图,或者如果会话 ID 在 URL 中,那么从他的肩膀上看的人可以获取会话 ID。
    【解决方案2】:

    无论如何,会话 ID 在客户端是已知的。他们还会如何将其与请求一起发送?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多