脆弱性"&'\ Advent Calendar 2014 (13日目)

この記事は脆弱性"&'\ Advent Calendar 2014の13日目の記事です。 Enjoy!

脆弱性"&'\ Advent Calendar 2014 (12日目)

この記事は脆弱性"&'<<>\ Advent Calendar 2014の12日目の記事です。Enjoy!

AVTOKYO 2014で「CSPが切り開くWebセキュリティの未来」という題で話してきた

AVTOKYO2014で、にしむねあさんといっしょに「はせむねあ」というユニット名でContent-Security-Policyをテーマに話をしてきました。 Future of Web Security Opened up by CSP from Muneaki Nishimura 内容はスライドのとおりで、攻撃者はFiddlerなどを使っ…

JavaScriptでリンク先URLがhttp/httpsか確認する方法

JavaScriptで動的にリンクを生成する際に、DOM-based XSSを防ぐためにリンク先がhttpあるいはhttpsに限定されていることを確認したい場合がある。典型的には以下のようなコードとなる。 var div, elm; // 変数 url は攻撃者がコントロール可能な文字列 if( u…

ファイアウォール内のサーバに対するShellshockを利用した攻撃

2014-09-27: 該当サイト上にXSSがなくても攻撃可能であることが id:mayuki さんのコメントで判明しましたので全面的に書き直しました。ファイアウォール内であっても攻撃者はファイアウォール内のShellshock攻撃が通用するCGIのURLがわかっているだけで攻撃…

ブラウザ内で安全に文字列からDOMを組み立てるためのRickDOMというライブラリを書いた

RickDOM - ricking DOM elements safety from string https://github.com/hasegawayosuke/rickdom ブラウザ内のDOMParserあるいはcreatHTMLDocument APIを使って不活性なDOMを組み立てたのちに、必要な要素と属性、スタイルだけを切り出して複製しているので…

LINE株式会社 に行ってきた!

台風一過!はせがわです。というわけで、Shibuya.XSSの会場を快く貸してくださったLINE株式会社さんに行ってきた! サイボウズのバグハンター合宿で疲れた体を引きずりながら大勢で魔宮である渋谷駅を抜けヒカリエへ。出迎えてくれたのはおなじみのコニー、…

セキュリティ・キャンプ2014 ネットワークセキュリティクラスの応募用紙

今さらながら。メモ帳で開くとHTTPを含むpcapぽいとわかるので、あとはFiddlerで一発。

mXSS - Mutation-based Cross-Site-Scripting のはなし

ここ数年、XSS業界の最先端で盛り上がっている話題として mXSS というものがあります。mXSS - Mutation-based XSS とは、例えば innerHTML などを経由してすでに構築されているDOMツリーを参照したときに、本来のDOM構造とは異なる結果を得てしまい、そのた…

IEを使わずにリモートのファイルをダウンロードする方法

Windows+Rを押し「ファイル名を指定して実行」のダイアログを表示する。 「参照」を押し、ファイルオープンのコモンダイアログを表示させる。 「ファイル名」の欄にダウンロード対象のURLを張り付けて「開く」を押す 「ファイル名を指定して実行」のダイアロ…

OWASP AppSec APAC 2014で発表しました

OWASP AppSec APAC 2014 で、Masato Kinugawaさん、malaさんと一緒に、「XSS Allstars from Japan」という枠で登壇しました。3人それぞれ好きなテーマについて発表をしたのですが、僕は、Masato Kinugawaさんが活用していた、Tabular Data Controlについて発…

5分でテンションを上げる方法

ちょっとテンションを上げたくなる時ってありますよね!今日はそんなときに簡単にテンションをあげる方法をお伝えします! まず、PowerPoint(画像は2010)に適当な写真を張り付け 四角形を置き、写真と同じ大きさの四角形を置きます。 四角形の枠線を「なし」…

JPCERT/CCの「HTML5(中略)調査報告書」が安全になっていた

JPCERT/CCは「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」(PDF))を以下のURLから公開しています。http://www.jpcert.or.jp/research/html5.html「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」…

Chromeで(☝ ՞ਊ ՞)☝ウイーン

この記事はEject Advent Calendar 20133日目の記事です。ちなみに今日は僕の誕生日ですかつて一世を風靡し世界中のChromeユーザーを病院送りにしたCD-ROM トレイを取り出せる Chrome拡張、「chrome-eject」ですが、内部でNPAPIを使っていたために近い将来確…

バグハンティング生活

セキュリティの専門家が錦糸町の小さな会社についたとき、JVNに一人のバグハンターが乗っていた。 JVNの中には数種のXSSが載せられていた。そのセキュリティ専門家はバグハンターにバグの品質を褒めて、見つけるのにどれくらい時間がかかったのか尋ねた。 バ…

空前の脆弱性ハンティングブーム

追記:このエントリーは以下の記事を極限までに参考にさせて頂きました。いつも著作権フリーでコピー改変OKな記事の提供ありがとうございます!それにしても、ほんとうに実力さえあればパクリだけで食べていける時代なんですね! http://www.whitehackerz.jp/…

JavaScript文字列の動的生成におけるエスケープ

「JavaScript文字列を動的生成する」と一言で言っても、例えば <html>... <script> // HTML内のscript要素内に生成 var s = "ここに動的生成される"; </script> だったり、 <div onclick='foo("ここに動的生成される");'> だったり、 <script src="external.js"></script> // external.js var s = "ここに動的生成される"; だったり、さらに複雑な組み合わせだったり</div></html>…

HTML5関連のセキュリティ情報

HTML5に関連したセキュリティの話題で、とりあえずこれまでに話した資料の一覧や、考察した記事。今後もっと増える予定です。「このAPI使う上で気を付けることないの?」みたいなリクエストもあればぜひ言って下さいませ。 JavaScript Security beyond HTML5…

アセンブラ短歌

世の中には常人には理解できない趣味を持っている人がいまして、組み込みOSを作っている坂井さんもその一人で、最近は「アセンブラ短歌」という新しい遊びを提案しています。アセンブラ短歌というのは坂井さんによると、“「アセンブラ短歌」は五・七・五・七…

セキュリティ・キャンプ2013 お疲れ様でした

今さらという感じもありますが、セキュリティ・キャンプ2013にWebセキュリティ・クラスの講師として今年も参加しました。 Webセキュリティ・クラス以外の実施内容については様々な記事をご参照いただくとして、ここではWebセキュリティ・クラスでの講義内容…

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

「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記」の補足編です。 結局、よくわからないんだけど。 よくわからない場合は、とにかく全てのレスポンスに X-Content-Type-Options: nosniff をつけましょう。 機密情報を…

機密情報を含む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対策が…

httpstatus ブックマークレットで、HTTP のステータスコードをすばやくしらべる!

一般的な Web Programmer ならば、HTTP Status code はすべて暗記していると聞きました。しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なブックマークレットを用意しました。httpstatus.js です。インス…

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

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