タグ

ブックマーク / ockeghem.hatenablog.jp (24)

  • クイズ:XSSとCSRFはどこにありますか? - ockeghem's blog

    先の日記(XSSはブラウザ上でスクリプトが動き、CSRFはサーバー上でスクリプトが動く - ockeghem(徳丸浩)の日記)は、仕込んだネタがあたって多くの方に読んでいただいた。細かい内容については、頂戴した批判や反省もあるが、このテーマに対して多くの関心を集めることができたのは良かったと思う。今回も、手を変え品を変えて、XSSとCSRFの違いを説明しよう。ということで、今回はクイズ仕立てにしてみた。 といっても、非常に簡単なクイズだ。 認証を必要とする会員制サイトmaitter.comで、個人情報を入力する画面がある。典型的な、入力(A)-確認(B)-登録(C)という画面遷移(下図)を想定した場合、 XSSが発生しやすい画面を一つあげよ CSRFが発生しやすい画面を一つあげよ というものだ(入力画面は初期入力のみ想定)。エラー時の挙動などは指定されていないので想定しないものとする。 解

    クイズ:XSSとCSRFはどこにありますか? - ockeghem's blog
  • 今も新規開発され続けるPHP 4アプリケーション - ockeghem's blog

    この日記をご覧の方には先刻ご承知のことだろうが、去る7月13日に、PHP 4のEOL(End Of Life)アナウンスが公式に宣言された*1。 これによると、PHP 4のメンテナンスは2007年12月31日まで、重大なセキュリティホールへの対応も2008年8月8日までとなっている。このため、既存の膨大なPHP 4アプリケーションのマイグレーションをどうするかは大きな課題である。 ここまでは皆さんご存知の情報であろう。 しかし、PHP 4アプリケーションは今も開発され続けている。私がそれを知ったのは、Webアプリケーションの脆弱性診断をしているからである。診断にてPHPなどの脆弱性を発見した場合はこれまでも都度報告していたが、2007年7月13日以降は、PHP 4を使っているだけでも、(脆弱性ではないが)上記情報を報告し、PHP 5への移行を推奨してきた。そういうレポートを書く際には、「き

    今も新規開発され続けるPHP 4アプリケーション - ockeghem's blog
  • hiddenフィールドの典型的な誤用(2) - ockeghem's blog

    昨日の日記で予言したように、今回はhiddenフィールドの典型的な誤用を紹介しよう。タイトルに(2)が付いているのは、価格詐称が(1)というココロである。 シナリオとしては、会員制ハンバーガーショップ*1にて、自分自身の会員情報を教えてもらうと言う想定だ。 客: こんにちは。 店員: いらっしゃいませ。○○バーガーへようこそ。お客様番号と合言葉をどうぞ。 客: お客様番号:4508、合言葉:メタ文字タン です。 店員: 徳丸浩様ですね。メニューの中からお選びください 1.ハンバーガーの購入 2.お客様情報(4508)のお知らせ 3.お客様情報(4508)の変更 4.退会(4508) 客: 1.お客様情報(4508)のおしらせ、をお願いします。 店員: かしこまりました。お客様情報は以下の通りです お客様番号:4508 氏名:徳丸浩 住所:横浜市金沢区■■■ ●-●-● 電話番号:080-▲

    hiddenフィールドの典型的な誤用(2) - ockeghem's blog
    raimon49
    raimon49 2007/11/10
    >管理者権限があれば任意会員の情報を表示してよいが、一般会員は自分自身の情報のみ表示できる / この実装は極めて自然かつ正しい。
  • XSS対策:JavaScriptのエスケープ(その4) - ockeghem's blog

    XSS対策:JavaScriptのエスケープ(その3) - ockeghem(徳丸浩)の日記にて、JavaScriptのリテラルを動的生成する場合のエスケープ方法について検討したが、id:hoshikuzuさんから、考慮がもれているという指摘を受けた(http://d.hatena.ne.jp/hoshikuzu/20071011#p1:TITLE=2007-10-11 - hoshikuzu | star_dust の書斎 - JavaScriptエスケープについて論考)。 上記は長いエントリーではあるが、要約すると、特定文字エンコードの特定のバイト●に対して、特定ブラウザにおいて「●\」が一文字「■」として解釈されるため、「"」に対するエスケープ「\"」が破綻するという意味に解釈した。 興味深い内容であるので、以下に考察してみよう。 なぜエスケープが破綻するのか 上記のようなケースはさ

    XSS対策:JavaScriptのエスケープ(その4) - ockeghem's blog