gpt4 book ai didi

php - 解密和读取 Suhosin session 数据

转载 作者:可可西里 更新时间:2023-11-01 12:37:49 25 4
gpt4 key购买 nike

我刚刚注意到我的主机开始使用 Suhosin Hardening,我对此不太熟悉并且我的应用程序存在重大问题,主要是在 session 中。

session 现在以下列格式存储:

_EzyqHpPJqmQbSpRmXAJTxuFq980aNQlc3XAiRkWxlZQ9B0fnV...

我不介意,但它也破坏了我的应用程序,我需要一种方法来解码加密,因为它不允许我因此登录我的应用程序。

我有一个反序列化 session 数据的函数,不确定我从哪里获取的,但它在这里:

public function unserialize_session_data($data)
{
$variables = array();

$a = preg_split( "/(\w+)\|/", $serialized_string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE );

for( $i = 0; $i < count( $a ); $i = $i+2 )
{
$variables[$a[$i]] = unserialize( $a[$i+1] );
}

return($variables);
}

它给出了该函数的偏移错误,因为 session 数据不是它期望的格式,这就是为什么我想知道是否有人知道解密/解码上述丑陋的 suhosin 数据以将其呈现为原始格式的原因格式?

-- 编辑--

发布使用上述反序列化函数的函数

 /***********************************************************************
# Get Session Data of a certain session id
# --------------------------------------
# This function will retrieve all session information related to a certain session id from
# the database, after that it unserializes the data and returns an array of data.
#
# @return array (Containing Session Data)
***********************************************************************/
public function get_session_data($session_id)
{
if (isset($session_id) && $session_id != "")
{
$sql = mysql_query("SELECT ses_value FROM sessions WHERE (ses_id = '$session_id');") or die ("MySQL Error : <b>" . mysql_error() . "</b><br />");

if (mysql_num_rows($sql) > 0)
{
$res = mysql_fetch_assoc($sql);
$res = $this->unserialize_session_data($res['ses_value']);
return $res;
}
}
}

提前致谢!

最佳答案

我以为Suhosin的解密和加密是透明的?

Parameter       Description
Encrypt Turns on the transparent encryption

无论如何,加密 key 的生成方式是:

cryptkey + user agent + document root + IP octets

所以:

12345Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2/var/www127.0.0.1

变量在没有分隔符的情况下连接在一起。如果由于某种原因 cryptkey 字符串为 NULL,则 Suhosin 将默认值为“D3F4UL7”。
一旦构建,字符串将使用 SHA256 进行哈希处理,结果用于生成 256 位 rijndael 加密 key 。

关于php - 解密和读取 Suhosin session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5918556/

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