为了尊重用户'隐私,我需要使用只有他们自己知道的密钥来加密每个用户的信息。 服务器和任何可以访问服务器或数据库的人都不应该被信任
因此,我将使用每个用户的密码来加密他/她的安全关键数据。这就是我需要在会话处于活动状态时存储密码的原因,以加密和解密他们的信息。
这就是问题:如果我在会话中保存密码,那么对服务器具有完全访问权限的攻击者是否可以从会话中检索存储的密码?
答案 0 :(得分:2)
你的问题没有多大意义。
我需要使用只有他们自己知道的密钥来加密每个用户的信息。
您正在谈论端到端加密
我需要在会话活动时存储密码
您知道用户的密码!
您应该决定是否要使用端到端加密(密钥永远不会离开用户的计算机)。
对完全访问服务器的攻击者是否可以从会话中检索存储的密码?
是
答案 1 :(得分:1)
简答:是的,对服务器具有完全访问权限的攻击者可以从临时会话文件中检索密码。
这是一个快速示例,我们将会话文件放在我们的php文件旁边,然后阅读其内容。
<?php
session_save_path('./');
session_start();
$_SESSION['password'] = 'xc4qh8wzza1xmx6vhf0nfuzluigqxlj';
echo file_get_contents('./sess_' . session_id());
?>
结果是
密码| S:31: “xc4qh8wzza1xmx6vhf0nfuzluigqxlj”;
正如您所看到的,数据以纯文本格式存储,并且可以轻松阅读。