タグ

ブックマーク / blog.ts5.me (4)

  • 2008-08-06 - T.Teradaの日記 - HTTP用のページにHTTPSでアクセスする

    同一ホスト上にHTTPとHTTPSのページが同居しているサイトをしばしばみます。 そんなサイトでは、来はHTTPのページに、HTTPSでもアクセスできるようになっていることがあります。そういう場合、HTMLの中身によってはセキュリティ上の問題が出ますよという話です。 問題があるページ http://www.example.jp/index.html というURLのページがあるとします。 問題となるのは、そのページの中身に以下のようなHTMLがベタ書きされている場合です。 <script src="http://www2.example.jp/foo.js"></script> このページ(index.html)はHTTPでのアクセスを想定して作られているため、JSファイルをHTTPで読み込んでいます。 ここで、このページが実はHTTPSでもアクセス可能だとします。もしHTTPSでアクセス

    2008-08-06 - T.Teradaの日記 - HTTP用のページにHTTPSでアクセスする
    pmakino
    pmakino 2008/08/07
    あるあるw>「問題となるのは、そのページの中身に以下のようなHTMLがベタ書きされている」
  • 入力値検証の話 - T.Teradaの日記 - 2007-09-08

    Webアプリケーションのセキュリティ対策としての入力値検証について議論されています。 そろそろ入力値検証に関して一言いっとくか: Webアプリケーション脆弱性対策としての入力値検証について - 徳丸浩の日記(2007-09-05) 思ったことをいくつか書きます。 徳丸さんの日記は、ユーザがテキストボックスなどで自由に値を入力できる住所などのデータを主に対象としたものだと思う。 ただ、ユーザの自由な入力を起源としないデータも存在する(ここでは「システム起源のデータ」と呼ぶ)。 hidden、リンクURLに埋め込まれているGETパラメータ、Cookieなどには、この手のデータが入ることが多い。 システム起源のデータの多くは、ある型に従うことが期待されるもので、原則的に入力値検証をすべきもの(BMPの「ピクセルあたりビット数」と同じような感覚)。 システム起源のデータも、エスケープさえすればイン

    入力値検証の話 - T.Teradaの日記 - 2007-09-08
  • T.Teradaの日記 - [セキュリティ][PHP]htmlspecialcharsと不正な文字の話

    PHPでは、HTMLエスケープ用の関数としてhtmlspecialcharsが用意されています。 今日の日記では、htmlspecialcharsについて書きます。これと近い働きをするhtmlentitiesについても触れます。 htmlspecialcharsの基 こんな感じで使います。 <?php echo htmlspecialchars($string, ENT_QUOTES, "UTF-8"); ?> 関数の引数は3つあります。 引数省略概要 第一引数不可エスケープ対象の文字列 第二引数可クォート文字の扱い(後述) 第三引数可文字コード(後述) 第二引数は、以下の3つの値のいずれかを指定可能です。 値エスケープ対象文字 ENT_NOQUOTES< > & ENT_COMPAT< > & " ENT_QUOTES< > & " ' 第二引数を指定しない場合のデフォルトは、ENT_

    T.Teradaの日記 - [セキュリティ][PHP]htmlspecialcharsと不正な文字の話
  • T.Teradaの日記 - ログイン直後のレスポンスの返し方

    多くの会員制Webサイトでは、ID/PWによるログイン処理がある。ユーザにログイン画面を提示し、ユーザがフォームにID/PWを入力してsubmitする。ID/PWがOKであれば、ユーザのブラウザにはログイン後の画面が表示される。 以下に、これを実現するための2通りのシーケンス図を描く。セキュリティの観点で望ましいのはA、Bのどちらだろう?というのが今回のテーマ。 Aではログイン要求に対してHTTPステータス200応答とともにログイン後画面をブラウザに返している。Bではログイン要求に302応答を返して(HTTP1.1では303応答)、ログイン後画面にリダイレクトしている。 結論を言うと、セキュリティの観点では、私はBの方が望ましいと考えている。 逆に言うと、Aにはどうにも気に入らないところがある。それは、ID/PWを含むリクエストに対して200応答を返していることだ。200応答のページは、ブ

  • 1