php session.use_cookies和会话固定攻击

时间:2014-10-13 09:48:38

标签: php session-cookies session-fixation

我查看了 this post ,但我不明白是否使用此代码
我很容易受到会话固定攻击:

myPage.php

<?php

ini_set("session.use_cookies",0);
ini_set("session.use_only_cookies",0);
ini_set("session.use_trans_sid",1);

session_start();

$_SESSION['myName'] = "myNameIsOk";

if($_SESSION['myName'] === "myNameIsOk" ){
    print_r($_SESSION);
    print_r($_COOKIE);
}

?>

我只使用此代码,并且我没有使用网址参数或任何其他内容,因此
这段代码容易受到php会话固定攻击吗?如果有,怎么样?我不是php专家..
你能发布一个攻击的例子吗?

1 个答案:

答案 0 :(得分:-4)

当您使用url传递ID时,会附加会话固定攻击,例如:

http://unsafe.example.com/?SID=I_WILL_KNOW_THE_SID

如果其他人访问此链接,他可以访问其他人帐户。

为避免这种情况,您必须不接受来自GET / POST变量的会话标识符。

不要使用:

ini_set("session.use_trans_sid",1);

但是:

ini_set("session.use_trans_sid",0);

它禁用透明的SID支持。

与基于cookie的会话管理相比,基于URL的会话管理具有额外的安全风险。用户可以通过电子邮件向其朋友发送包含活动会话ID的URL,或者用户可以将包含会话ID的URL保存到他们的书签,并且例如始终使用相同的会话ID访问您的站点。

您可以在此处详细了解会话固定:

http://en.wikipedia.org/wiki/Session_fixation