タグ

ブックマーク / hasegawa.hatenablog.com (2)

  • 「Ajaxブラウザセキュリティ - 主戦場をDOMに移したXSS」 - 葉っぱ日記

    IPAから情報セキュリティ技術動向調査(2011 年上期) のひとつとして「Ajaxブラウザセキュリティ - 主戦場をDOMに移したXSS」という報告が公開されていますので、ちょっと読んでみた感想などを…。 まずは些末なツッコミから。 (5.2. Ajaxの登場と進化) JavaScriptの中からのWebサーバとの間の非同期の通信を可能にしたAPIは、XMLHttpRequestという組み込みオブジェクトであるXMLHttpRequest として最初に実装されたIEのそれは、ActiveX Object であり「組み込みオブジェクト」ではありません。 (5.5. 「同一源泉」の制約) 「同一源泉」の制約「同一源泉」なんていう独自用語使わずに、"Same Origin Policy" そのままか、あるいは「同一生成元ポリシー」と書けばいいのに。 (5.9. XHRレベル2) 例えば、次のよ

    「Ajaxブラウザセキュリティ - 主戦場をDOMに移したXSS」 - 葉っぱ日記
    deamu
    deamu 2011/09/28
  • JSONのエスケープをどこまでやるか問題 - 葉っぱ日記

    Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSS それぞれの詳細については後述します。 開発側でやるべきこと 文字列中のUnicode文字は "\uXXXX" な形式にエスケープするとともに、ASCIIな範囲であっても「/」「<」「>」「+」も同様にエスケープすることにより、前述の脆弱性を防ぐことができます。 Perlであれば、以下のような感じになります。JSON->ascii(1) に続けて、JSON文字列を正規表現で置換しているあたりがキモになります。 use utf8; u

    JSONのエスケープをどこまでやるか問題 - 葉っぱ日記
  • 1