php session.use_cookies和会话固定攻击


php session.use_cookies and session fixation attacks

我看了这篇文章,但我不明白是否使用了这段代码
我很容易受到会话固定攻击:

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);
}
?>

我只使用这个代码,没有使用URL参数或任何其他东西,所以
此代码易受php会话固定攻击吗?如果是,如何?我不是php专家
你能举一个袭击的例子吗?

当您使用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的网址保存到书签中,并始终使用相同的会话ID访问您的网站。

你可以在这里阅读更多关于会话固定的信息:

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