タグ

2008年8月9日のブックマーク (2件)

  • 【スクリプトインジェクション対策18】ログイン処理を正しく実装する | gihyo.jp

    言うまでもなくログイン処理はセキュリティ上最も重要な処理です。しかし、ログイン処理が正しく行われていないサイトも少なくありません。例えば、PayPalのログインページがスクリプトインジェクションに脆弱であったことは有名です。ログインページがスクリプトインジェクションに脆弱であると、簡単にユーザ名とパスワードを盗めてしまいます。PayPalのログインページはHTTPSで保護されていましたが、スクリプトインジェクションに脆弱ではHTTPSは何の役にも立ちません。 ログインページがスクリプトインジェクションに脆弱であるのは論外であるとしても、ログインの実装方法が正しくない場合が少なくありません。ログインに成功した場合、新しいセッションIDを割り当てるべきです。これは、「⁠セッションIDを頻繁に変更する」のエントリでも解説したように、セッションIDの盗聴や固定化などから防御するために行います。 W

    【スクリプトインジェクション対策18】ログイン処理を正しく実装する | gihyo.jp
  • 3. session_destroy関数はファイルを消すだけで、スクリプト内ではセッション変数が使えてしまう

    3. session_destroy関数はファイルを消すだけで、スクリプト内ではセッション変数が使えてしまう アプリケーション作成に不可欠なセッション変数ですが、セッションを 正しく消さなければ不具合の原因のみならず、脆弱なアプリケーション となってしまいます。 正しくセッションを消す方法を知っておきましょう。 PHPアプリケーションを作成する時に、セッション変数の利用は不可欠と言っ ても過言ではないでしょう。 しかしセッションには攻撃所が多く、脆弱なアプリケーションを多数見かけ ます。 session_regenerate_id( true ) としてセッションIDを変えるのは非常に 有効な手段ですが、逆に不要なセッションは必ず破棄しなければ後々、脆弱 性や不具合の原因となります。 例えばログアウトメカニズムのような実装をする場合、session_destroy()を 利用していませんで

    3. session_destroy関数はファイルを消すだけで、スクリプト内ではセッション変数が使えてしまう