期末レポートのセッションを複製しようとしています。ここでかなりのヒントを見つけましたが、ローカルホストへの攻撃を複製できません。
ここから例を試してみました: http://www.devshed.com/c/a/PHP/Sessions-and-Cookies/2/
fixation.php:
<?php
session_start();
$_SESSION['username'] = 'chris';
?>
test.php
<?php
session_start();
if (isset($_SESSION['username']))
{
echo $_SESSION['username'];
}
?>
記事には、次のセッションを固定できるはずだと書かれています。
http://example.org/fixation.php?PHPSESSID=1234
しかし、リクエストヘッダーを調べると、うまくいかないようです:
Cookie PHPSESSID=0avpo8ttlmg35apkjaovj6dgd3
また、tmpフォルダに「sess_0avpo8ttlmg35apkjaovj6dgd3」というファイルがあります。
私はここでちょっと迷っており、うまくいかなかった同様の例をいくつか試しました...
これらの値を設定して、php.ini を少し更新します。
session.use_trans_sid = 1
session.use_cookies = 0
コメントアウトするとsession.save_handler
、Cookie へのセッションの保存と tmp ファイルの生成が無効になります (間違っている場合は修正してください)。これで、セッションを固定し (sess_1234 という名前の tmp フォルダーにファイルがあります)、それもハイジャックできます (別のブラウザーで開き、状態を再開します)。繰り返しますが、私が間違っている場合は訂正してください-最近のphpバージョンでセッション固定化が完全にパッチされたのでしょうか、それともこの単純な攻撃でしょうか? 現在のバージョンは 5.3.4 です