【发布时间】:2014-01-22 05:49:25
【问题描述】:
我已经对此进行了大量研究。不幸的是,我发现的信息都没有真正有用。我正在调查一个会话劫持的具体案例,因为我已采取措施保护我的会话,但我无法弄清楚这一点。
我设置的安全措施是在会话开始时获取浏览器指纹:
$_SESSION['fingerprint'] = $_SERVER['HTTP_USER_AGENT'];
每次请求会话时,我都会执行检查
if($_SESSION['fingerprint'] != $_SERVER['HTTP_USER_AGENT']) // Handle accordingly
因此,启用httpOnly 后,除了欺骗具有不安全连接的 wifi 路由器或任何其他类型的连接侦听外,攻击者将知道所有请求标头,因此会话劫持的余地并不多,因此攻击者的复杂性指纹根本不重要。如果攻击者要复制他所有受害者的请求标头,我该如何保护会话?
【问题讨论】:
-
您能更详细地解释一下您要完成的工作吗?使用一个参数,比如正在运行的浏览器不是很安全。实际上它非常具有欺骗性。
-
@Phillip 我刚刚举了一个例子。如果攻击者知道受害者发送的所有信息,我将使用多少个
params 有什么区别?