SECURITY

機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき

WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるよう…

Same-Origin Policy とは何なのか。

ちょっと凝ったWebアプリケーションを作成していたり、あるいはWebのセキュリティに関わっている人ならば「Same-Origin Policy」(SOP)という言葉を一度は聞いたことがあると思います。日本語では「同一生成元ポリシー」あるいは「同一生成源ポリシー」などと…

IPAから「クリックジャッキング」に関するレポート出ました

Webアプリケーションのセキュリティの分野で「新しい攻撃手法」は実はそれほど多くないのですが、比較的新しく対応が求められているものとしてクリックジャッキングがあります。クリックジャッキングは、CSRFと同じように「Webアプリケーションのサーバー側…

Web StorageやindexedDBを扱う上でのセキュリティ上の注意点(続編)

先日書いた「Web StorageやindexedDBを扱う上でのセキュリティ上の注意点」の続き。 sessionStorage を使うと解決するか この用途なら sessionStorage でよい (はてなブックマーク - ssig33 - 2013年3月9日)sessionStorageはウィンドウあるいはタブが開かれ…

Web StorageやindexedDBを扱う上でのセキュリティ上の注意点

localStorageやsessionStorage、あるいはindexedDBのようなブラウザ上でのデータの保存が可能になったことで、これらを取り扱ううえでもセキュリティ上の注意点が必要である。 これらのストレージは、localStorageやindexedDBは永続的に、sessionStorageはブ…

XMLHttpRequestを使ったCSRF(補足編)

XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記を書いていて思ったけど、いまいちXHRを使ったCSRF(というかクロスオリジン通信)について理解されていないような感じだったので、ちょっと書いておきます。とりあえず日本語のリソース的には、HTTP access contr…

XMLHttpRequestを使ったCSRF対策

合わせて読んでください:Flashと特定ブラウザの組み合わせでcross originでカスタムヘッダ付与が出来てしまう問題が未だに直っていない話 (2014-02/07)XMLHttpRequestを使うことで、Cookieやリファラ、hidden内のトークンを使用せずにシンプルにCSRF対策が…

GoogleのJSON(モドキ)の先頭にwhile(1); がつく理由

なぜGoogleはJSONの先頭に while(1); をつけるのか #JavaScript #HTML #Ajax #StackOverflow - Qiita これはクロスサイト・リクエスト・フォージェリ対策。違うよ!全然違うよ!攻撃者の作成した罠ページにてJSONを<script src="target.json">みたいに読み込んで、ゴニョゴニョやること…

脆弱性関連情報の非開示依頼の取下げ申請の結果が返ってきた

2008年8月5日に届け出た脆弱性というか仕様というか問題ある挙動について、いつまで経っても修正されず、むしろ問題を公にしてユーザーが自衛するほうが社会的公益性が高いと思い、2012年10月21日に脆弱性関連情報の非開示依頼の取下げ申請をIPAに送ってみた…

IE6/7のでは「;」で区切ってURLが複数指定できる問題

Masato Kinugawaさんのブログ「Masato Kinugawa Security Blog: Googleのmetaリダイレクトに存在した問題」を読んで、 <meta http-equiv="refresh" content="0;url=http://good/;url=http://evil/"> みたいな書き方をするとIE6、IE7ではevilなほうにリダイレクトされるということを初めて知ったわけですけど、それをTwitter上で言ったら</meta>…

MS11-099 Internet Explorer 用の累積的なセキュリティ更新プログラム で修正されたXSSの話

マイクロソフト セキュリティ情報 MS11-099 - 重要 : Internet Explorer 用の累積的なセキュリティ更新プログラム (2618444) で修正された「Content-Disposition の情報漏えいの脆弱性 - CVE-2011-3404」について書いておきます。Content-Disposition: attac…

MFSA 2011-47: Shift-JIS を用いた潜在的な XSS 攻撃

Firefox 8 で修正されました!ヽ(´ー`)ノ MFSA 2011-47: Shift-JIS を用いた潜在的な XSS 攻撃 こういう攻撃方法があるということ自体はずいぶん以前から知られていましたが、今回はもうちょっと攻撃の可能性を広げるような方法を考えて報告しました。 詳しい…

MS10-090 Internet Explorer 用の累積的なセキュリティ更新プログラム で修正されたXSSの話

すでに1年近く経っていますが、Microsoft Security Bulletin MS10-090 - Critical : Internet Explorer 用の累積的なセキュリティ更新プログラム (2416400) に含まれる「クロス ドメインの情報の漏えいの脆弱性」- CVE-2010-3348 について書いておきます。発…

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

IPAから情報セキュリティ技術動向調査(2011 年上期) のひとつとして「Ajaxブラウザセキュリティ - 主戦場をDOMに移したXSS」という報告が公開されていますので、ちょっと読んでみた感想などを…。まずは些末なツッコミから。 (5.2. Ajaxの登場と進化) JavaS…

セキュリティ&プログラミングキャンプのCTFで出題したXSS問題

難しすぎて解けないよ!と不満噴出だった問題。来年やるとしたら、ごっそり変更するので公開しちゃおう。 http://utf-8.jp/camp2011/ctf/inquiry.html (参考文献:http://d.hatena.ne.jp/hasegawayosuke/20100825/p1)

私はいかにして様々なブラウザの脆弱性を発見したか

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

JSONのエスケープをどこまでやるか問題

Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足してい…

IEのローカルファイルをXHRでどこまで読みとらせるか

ローカルのHTMLファイルからどこまで読み取れるか選手権 2011 - 金利0無利息キャッシング – キャッシングできます - subtech を読んでの補足。 IE9 on Windows 7 においてXHRを使ってローカルファイルを読み取る場合について、「許可するとやりたい放題」と…

各ブラウザのUTF-7の対応状況

今時のブラウザがどれくらいUTF-7をまだサポートしているか調べてみたのでメモ。全てWin32上。 IE8 レスポンスヘッダでcharset=utf-7と指定したとき、およびコンテンツの先頭(<html>より前)にUTF-7のBOMである +/v8- を挿入しておいた場合にUTF-7となる。<meta>でcharset</meta></html>…

1分でわかる「X-ナントカ」HTTPレスポンスヘッダ

最近のモダンなWebブラウザがサポートしている、セキュリティに関連しそうな X- なHTTPレスポンスヘッダをまとめてみました。それ以外にもあったら教えてください。 X-XSS-Protection 0:XSSフィルタを無効にする。 1:XSSフィルタを有効にする。XSSフィルタを…

X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに!

2011-01-06: IE8ということを追記 & ちょっと間違いを修正。あけましておめでとうございます。 年明け早々ですが、Internet Explorerの話題です。IEはご存じの通り、Content-Type だけでなくコンテンツの内容なども sniff することでファイルタイプを決定し…

複数のJoomla!サイトにおいて、jjencodeを使用して記号だけに難読化したJavaScriptを注入する攻撃が発生

イタリアのJoomla!を使用している複数のサイトにおいて、悪意あるサイトに誘導するためのJavaScriptを注入されるという攻撃が発生したようですが、そのときに埋め込まれるJavaScriptが、jjencode によって難読化されたものだったようです。 Italian compromi…

IE8 XSS Filterの仕様が微妙に変更されていた。

先日、Google 日本語入力のHTTPを見てた id:tokuhirom さんに、HTTPレスポンスヘッダに「X-XSS-Protection: 1; mode=block」というのが含まれるというのを教えてもらったけど、"mode=block" というのが何か分からなかったので調べてみた。 結論としては、今…

セキュリティ&プログラミングキャンプのCTFで出題したXSS問題

難しすぎて解けないよ!と不満噴出だった問題。来年やるとしたら、ごっそり変更するので公開しちゃおう。 http://utf-8.jp/cgi-bin/xss1/search.cgi http://utf-8.jp/cgi-bin/xss2/search.cgi http://utf-8.jp/cgi-bin/xss3/search.cgi (追記)回答例をキャン…

エフセキュアブログにおけるXSS

エフセキュアブログにちょうどXSSという記事が出ていますね。 記事では f-secure.com におけるXSSを話題にしていますが、f-secure.jp でもXSSがあり、ちょうど先日修正が完了しました。エフセキュアブログでは、ブログ内を検索したときに検索文字列を含むJav…

HTML5 Security Cheatsheet

html5security - Project Hosting on Google Code HTML5 Security Cheatsheet 足りてない攻撃パターンとか日本語訳もぼちぼちとcommitしていきますので、間違いとかツッコミあったら教えてくださいませ。

正しい脆弱性報告のあり方

「XSSとセキュリティリスクと正しい脆弱性報告のあり方 - 最速転職研究会」を読んで。 IPAを通じて脆弱性の報告が来るということは、脆弱性の発見者がセキュリティ専門家だったりするため、対策が取られるまで公開されないことが予測できる。つまりIPAから脆…

US-CERT Vulnerability Note VU#889747 の日本語訳

昨日に続き、CERT/CCのアドバイザリも訳しておきました。間違いや指摘があればツッコミください。結局、まとめると Vista、Server 2008 は MS08-038 を、それ以外は KB953252 を当ててね、ということでいいのかな。 Vulnerability Note VU#889747 Microsoft …

Vulnerability Analysis Blog: The Dangers of Windows AutoRunの日本語訳

レジストリでAutoRunを無効にしたときの注意点に関して、元ネタとなっている Vulnerability Analysis Blog: The Dangers of Windows AutoRun を翻訳してみました。間違いや指摘があればツッコミください。 The Dangers of Windows AutoRun By Will Dormann o…

SQLインジェクションで埋め込まれる文字列

「2008年12月の緊急注意喚起の続報〜SQLインジェクション攻撃の変化について | LAC」で書かれている文字列を考えてみる。考えるというほど考えてないけど。