【问题标题】:securing sessions保护会话
【发布时间】:2010-12-04 19:02:23
【问题描述】:

我知道传统上不以这种方式使用 SO(或者可能是这样),但我一直在学习 webapp 安全性,并认为从 SO 专家那里听到他们对本文的看法会很好,也很鼓舞人心(我现在正在阅读它,它是关于会话安全的)。

http://carsonified.com/blog/dev/how-to-create-bulletproof-sessions/

也许我们可以进行某种讨论,指出作者错误陈述/忘记的内容以及有哪些更好的做法?

例如,当涉及到 sql 注入等不同的安全主题时,许多人推荐 mysql_real_escape_strings 之类的东西,但专家会告诉你,没有什么比准备好的语句更好的了。从cmets来看,这篇文章似乎有问题,所以我想知道他的内容到底是好是坏。

【问题讨论】:

  • 这需要是一个社区维基。请编辑您的问题并选中相应的框。
  • 社区 wiki 是否具有与问题相同的可见性?
  • @Chris,是的,CW 问题具有相同的可见性。

标签: security session csrf


【解决方案1】:

我认为这篇文章非常好,但是这些只是基本概念,如果有人认真尝试制作一个严肃的安全意识应用程序,这样的事情将会得到解决。也就是说,文章的水平很低。

这里没有解决像中间人攻击这样的问题(尽管我可以想象这样的事情通常超出了应用层的范围)。另一个可能的漏洞可能是随机数生成。因此,根据会话密钥生成的实现,会话密钥的熵可能会比最大可能的熵低得多,这可能会或可能不会使暴力攻击可行。

因此,这实际上取决于您对解决方案的安全要求,没有一种单一的安全解决方案适用于所有情况。要应用后者,假设您有一个有效的会话 ID,并且您知道会话绑定到哪个 IP。还假设此示例中的目标是一家银行。现在我可以执行将钱转入我的帐户的请求,并通过欺骗我的 IP 地址并提供被盗会话来完成这项工作。好吧,我的请求的回复永远不会到达,因为IP地址被欺骗了,但是谁在乎,自从服务器接受了我的请求后,我得到了钱。

关键是,根据具体情况,您的安全要求以及您的安全解决方案可能会有很大差异。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2013-03-21
    • 2019-01-01
    • 2021-01-05
    • 2017-03-23
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多