SECURITY

サイボウズ バグハンター合宿に行ってきた

先週の11月3日-4日に開催されたサイボウズ バグハンター合宿に参加してきた。 サイボウズ バグハンター合宿 - connpass 3年前は個人戦だったけれど今回はチーム戦ということに加え、クソつまらない脆弱性を多数報告した場合は評価が下がる採点方式だったので…

安全な脆弱性の作り方

この記事は 「脆弱性"&'<<>\ Advent Calendar 2016」16日目の記事です。具体的な脆弱性の話でなくてすみません。いろいろコードを書いていると、安全に脆弱性を発生させたくなるときがあります。って書くとさっぱり意味がわからないと思いますが、セキュリテ…

30xリダイレクトのレスポンスボディでもXSS(その2)

この記事は 「脆弱性"&'<<>\ Advent Calendar 2016」11日目の記事です。昨日のネタの続きです。昨日は30x応答のレスポンスボディを表示させるために21/tcpなどへのポートへリダイレクトさせるという方法を紹介しました。Firefoxではレスポンスボディを表示さ…

30xリダイレクトのレスポンスボディでもXSS

この記事は 「脆弱性"&'<<>\ Advent Calendar 2016」10日目の記事です。小ネタですみません。 301や302のリダイレクトのレスポンスボディにてXSSが存在することが稀にありますが、30x応答ではボディ部分は表示されないのでXSSが存在しても脅威は発生しないと…

Visual Studio Code における任意コード実行の問題

Microsoftの提供するテキストエディタ Visual Studio Code にはローカルに保存されている特定の名前のファイルを起動時に読み込み、その内容をコードとして実行してしまう問題があります。現在のv1.7.1では問題は解消されていますが、問題が発生することを確…

Shibuya.XSS techtalk #8 開催にあたり、発表者を募集します!

2016年11月14日夜にShibuya.XSSを開催します。海外からの超大物ゲストを迎えての開催ということで、発表者を募集しています。 Shibuya.XSS techtalk #8 CFP 応募内容はあまり深くこだわる必要はなく、例えば以下のようなもので十分です! JSフレームワークxx…

セキュリティ・キャンプ全国大会2016資料まとめ

セキュリティ・キャンプ全国大会2016の講義で使用された資料のまとめ。公開されていない講義が多いので、すべての講義資料があるわけではありません。随時追加。 TLS徹底演習 次世代プラットフォームのセキュリティモデル考察 (前半) (講義の動画) 次世代プ…

Electronのnodeモジュール読み込みの問題が修正された

昨年10月に報告した、Electron製アプリケーションを起動した際にアプリケーション外のnodeモジュールを読み込んで実行されてしまうという脆弱性が修正された。 JVN#00324715: Electron における Node モジュール読み込みに関する問題 正確には、修正は報告と…

CVE-2016-0069 Cross origin URL information leakage of Internet Explorer

Cross origin URL information leakage of IE was fixed by MS16-009. (JVN#78383854: Internet Explorer cross-domain policy bypass) Reported 2015-09-18 Confirmed version Internet Explorer 11.0.9600.18036 Description A cross origin content in th…

Electronのwebview要素ではallowpopups属性をつけてはいけない

Electronを使ってブラウザのようなアプリケーションを作る場合には webviewタグが使用される。例えば、アプリケーション内にexample.jpのサイトを表示するには以下のようにHTMLに記述する。 <webview src="http://example.jp/"></webview> ここで、webviewタグにallowpopups属性を付与すると、example.jp…

iframe sandbox は万能ではない

HTML5で導入されたiframe要素のsandbox属性は、そのiframe内のコンテンツに対しJavaScriptの実行を始め様々な制約を課すことでセキュリティの向上に役立つ機能である。例えば、以下のように指定されたiframeでは、iframe内からformのsubmitなどはできるが、i…

Electronでアプリを書く場合は、気合いと根性でXSSを発生させないようにしなければならない。

そのうちもう少しきちんと書きますが、とりあえず時間がないので結論だけ書くと、タイトルが全てでElectronでアプリを書く場合は気合いと根性でXSSを発生させないようにしなければならない。これまでWebアプリケーション上でXSSが存在したとしても、影響範囲…

Host:リクエストヘッダによるXSS

本日、とある会合にてTwitterで交わされていたこの会話が話題になりました。紹介されている例はHostヘッダの操作を経路とする攻撃ということであり、Hostヘッダインジェクションという脆弱性はないと思いますよ / “PHPにおけるHostヘッダインジェクション脆…

セキュリティ・キャンプ全国大会2015資料まとめ

セキュリティ・キャンプ全国大会2015の講義で使用された資料のまとめ。公開されていない講義が多いので、すべての講義資料があるわけではありません。随時追加。 高レイヤートラック Webプラットフォームのセキュリティ JavaScript難読化読経 HTTP/2, QUIC入…

ブラウザ上でMarkdownを安全に展開する

不特定のユーザーが入力したMarkdownをブラウザ上でJavaScriptを使ってHTMLに変換するという場面においては、JavaScriptで変換してHTMLを生成するという処理の都合上どうしてもDOM-based XSSの発生を考えないわけにはいかない。かといって、Markdownをパース…

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

この記事は脆弱性"&'\ Advent Calendar 2014の17日目の記事です。今日は少し昔話をしようと思います。がはは。かつて、日本製TwitterのようなWassrというサービスがありました。当時、Twitterは数日に一度くらいはサービスが落ちていて、Twitterユーザーも「…

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

この記事は脆弱性"&'\ Advent Calendar 2014の16日目の記事です。 Enjoy!で終わらせようかと思ったんだけど、毎日Enjoyし過ぎじゃないのみたいに思われそうなのでここ数日のを少し解説。 //d.hatena.ne.jp/hasegawayosuke/20141212/p1">脆弱性"&'\ Advent Ca…

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

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

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

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

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

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

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

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

ファイアウォール内のサーバに対する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を組み立てたのちに、必要な要素と属性、スタイルだけを切り出して複製しているので…

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

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

OWASP AppSec APAC 2014で発表しました

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

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

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

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

追記:このエントリーは以下の記事を極限までに参考にさせて頂きました。いつも著作権フリーでコピー改変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…

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

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