0

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

我的页面.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 session fixation 攻击?如果是,如何?我不是 php 专家。
你能发布一个攻击的例子吗?

4

1 回答 1

-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

于 2014-10-13T09:53:59.217 回答