【问题标题】:PHP Token generation encoding/decodingPHP令牌生成编码/解码
【发布时间】:2013-07-09 09:12:06
【问题描述】:

我正在审查他的 php 网站,这是对朋友的帮助的一部分。我想测试他的会话令牌生成功能,但我无权访问源代码。出于这个原因,我获得了许多令牌,试图找到它们之间的相关性并使用 Burp 分析它们。我还没有得出结论的一件事是令牌是否被加密,当然如果它们被加密,我正在寻找一种完全不同的方法。我为每个请求获得的令牌如下:

  • __utma 数值
  • __utm 数值
  • __utmc 数值
  • __utmz 数值

最后一个名为 32b7e298af200c063ff686fa5dc74c3f 的值为 44822a2f5e3db0931da0c444fa50a96a

我不关心前 3 个令牌,因为它们是默认令牌,因为它们用于 Google 分析目的。最后一个令牌是否可以解码,你能识别出使用的编码方案吗?

我不介意在此处发布实际令牌,因为我一开始并未注册为用户,并且该网站仍处于开发阶段以进行错误检测。

提前谢谢你

【问题讨论】:

  • 正在查看他的网站但无权访问代码,称我为愤世嫉俗的人,但这里没有加起来,尤其是让某人查看他的网站,但对会话和如何操作一无所知它们是受管理的。
  • 建立一个 php 网站不是火箭科学。如果您暗示我正在尝试在未经适当授权的情况下做某事,您不认为我会尝试更大的事情吗?我想我是一个对会话一无所知的人?请详细说明。
  • 您在询问如何编码和解码 php 会话 ID。它们没有被编码或解码,会话 id 中没有要解码的数据。
  • @Anigel - 让我明白这一点,并确保我的理解是正确或错误的。会话 ID 中是否可能包含诸如我的用户名或其他数据组合之类的数据?我会根据我的理解假设它可以包含让我们说我的用户名 + myip + 我的状态(让我们说登录)。我知道会话 id 可以由任何数据组成,然后由服务器进行 base-64 解码。请帮我澄清一下
  • 不,会话 ID 不包含任何内容,它只是指向服务器上包含该数据的会话文件。会话 id 只是它是一个 id。但是您已经在 ThiefMaster 的回答中被告知了这一点

标签: php session cookies


【解决方案1】:

PHP 会话 ID 是随机散列。根本没有什么可以解密的。

实际的会话数据存储在服务器端 - 会话 ID/令牌仅标识会话,因此 PHP 知道要检索哪些会话数据。

【讨论】:

  • 我不一定同意它们是随机散列。可以为任何东西(ip、时间戳等)创建会话 id,并且在许多情况下可以预测
  • 他最有可能使用 PHP 的内置会话。
猜你喜欢
  • 2018-08-14
  • 2021-12-21
  • 1970-01-01
  • 2020-07-25
  • 2020-12-01
  • 2021-07-10
  • 2018-03-28
  • 2017-01-11
  • 2017-04-15
相关资源
最近更新 更多