【问题标题】:Is there any chance to hack codeigniter sessions? [closed]有没有机会破解 codeigniter 会话? [关闭]
【发布时间】:2011-12-02 01:02:58
【问题描述】:

目前我正在使用 CI。我正在使用 CI 会话库,它将所有会话值保存在 cookie 中。有没有可能通过在 mozilla 中使用像 web 开发人员这样的插件来破解这个(会话变量)。

【问题讨论】:

  • 为什么要破解会话变量 cookie?
  • 我不想破解。如果有人入侵了网站会话,他们可以做任何事情。现在我正在使用数据库会话。

标签: php session codeigniter session-cookies


【解决方案1】:

默认情况下,会话由 4 个信息组成:

  1. 用户的唯一会话 ID(这是一个统计随机字符串 具有非常强的熵,使用 MD5 散列以实现可移植性,以及 每五分钟重新生成一次(默认情况下))
  2. 用户的 IP 地址
  3. 用户的用户代理数据(浏览器的前 120 个字符) 数据字符串)
  4. “上次活动”时间戳。

当然还有您自己的会话数据。这四个数据中的三个不需要是安全的,而第一个应该是相当可靠的,即使使用 MD5,我也没有深入研究代码来实际查看是否安全(而且我不是安全专家) . 后一种信息的安全级别取决于您在其中存储的信息类型,以及在存储之前对它们的处理程度。

您也可以决定使用数据库来存储会话,这将是一个更安全的选择(前提是您不会搞砸允许 sql 注入!)。

还要注意:

如果您启用了加密选项,则序列化数组将 在存储在cookie中之前进行加密,使数据高度 安全且不受他人阅读或更改的影响。更多信息 关于加密可以找到here,虽然 Session 类将负责初始化和加密数据 自动。

那么,它们应该是相当安全的;如果您对它们不够信任,您可以随意散列或加密您的数据,或者仍然毫无问题地使用 PHP 原生会话。

【讨论】:

    【解决方案2】:

    这完全取决于您最终在 cookie 中存储的信息类型。如果有一个$_COOKIE['is_admin'] 的值为"false" .. 好..

    基本上,您必须检查您实际存储在用户计算机上的信息。通常对于会话,它只存储PHPSESSID,其中包含一个哈希值,其余值保留在服务器上。

    【讨论】:

      猜你喜欢
      • 2013-06-18
      • 2017-09-11
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 2015-07-02
      相关资源
      最近更新 更多