p58 ~ p71 セッション
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