p58 ~ p71 セッション

Security

Cookieとは

セッション管理…ユーザー情報をサーバー側で覚えておくこと

Cookie…セッション管理のために開発された仕組み

31-020.php

<?php session_start(); ?>
<form action="31-021.php" method="POST">
    <input type="text" name="ID" />
    <input type="password" name="PWD" />
    <input type="submit" value="ログイン" />
</form>

リクエストメッセージ

POST 31-021.php HTTP/1.1
Content-Type: application/x-www-form/urlencoded
Content-Length: 18

セッションID(PHPSESSID)
Cookie: PHPSESSID=gg5144 <--- 値が短すぎる

ID=user1&PWD=pass1

Cookieの脆弱性

・Cookieが保持できる値の個数や文字列長に制限がある

・Cookieの値は利用者本人が参照・確認できてしまう

・セッションIDが短すぎたり連番だったりすると悪人にセッションIDを知られてしまい、他人のIDを使って悪さができてしまいます

Session Fixation Attack(セッションIDの固定化攻撃)

・悪人がサーバー側になりすまして、ユーザにセッションIDを教えることで、ユーザーが知らないまま悪人のセッションIDを使ってしまう危険性もあります

BACK