タグ

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

  • Visual Studio Code における任意コード実行の問題 - 葉っぱ日記

    Microsoftの提供するテキストエディタ Visual Studio Code にはローカルに保存されている特定の名前のファイルを起動時に読み込み、その内容をコードとして実行してしまう問題があります。現在のv1.7.1では問題は解消されていますが、問題が発生することを確認したv0.8.0との間のどのバージョンで問題が修正されたのかは不明です。 Microsoftでは件を脆弱性として取り扱っているのか不明です。 以下、IPA経由でのMicrosoftとのやり取りです。 2015-10-04 IPAへの報告 2) 脆弱性を確認したソフトウエア等に関する情報 名称:Visual Studio Code for Windows (https://code.visualstudio.com/) バージョン: v0.8.0 パッチレベル: 言語: 設定情報: ※ パッチレベルについては、マイナー

    Visual Studio Code における任意コード実行の問題 - 葉っぱ日記
    ockeghem
    ockeghem 2016/11/10
    興味深い
  • Shibuya.XSS techtalk #8 開催にあたり、発表者を募集します! - 葉っぱ日記

    2016年11月14日夜にShibuya.XSSを開催します。海外からの超大物ゲストを迎えての開催ということで、発表者を募集しています。 Shibuya.XSS techtalk #8 CFP 応募内容はあまり深くこだわる必要はなく、例えば以下のようなもので十分です! JSフレームワークxxxx.jsを使う際に、セキュリティ面で気を付けるべきポイントを紹介します。xxxx.jsはXSSの発生を自動的に防いでくれると思いがちですが、仕組みが完全でないので、Webアプリの開発者が自身で防がなけれらいけない点も存在します。この発表では、私の見つけた実例をもとにその注意点を幾つか紹介します 応募締め切りが明日夜までとなってしまいましたが、まだまだ応募は間に合いますので、アツいトークをお待ちしています!!

    Shibuya.XSS techtalk #8 開催にあたり、発表者を募集します! - 葉っぱ日記
    ockeghem
    ockeghem 2016/10/15
  • Electronでアプリを書く場合は、気合いと根性でXSSを発生させないようにしなければならない。 - 葉っぱ日記

    そのうちもう少しきちんと書きますが、とりあえず時間がないので結論だけ書くと、タイトルが全てでElectronでアプリを書く場合は気合いと根性でXSSを発生させないようにしなければならない。 これまでWebアプリケーション上でXSSが存在したとしても、影響範囲はそのWebアプリケーションの中に留まるので、Webアプリケーションの提供側がそれを許容するのであればXSSの存在に目をつむることもできた。しかし、ElectronアプリでDOM-based XSSが一か所でも発生すると、(おそらく)確実に任意コード実行へとつながり、利用者のPCの(そのユーザー権限での)全機能が攻撃者によって利用できる。 そのため、Electronでアプリケーションを作成する開発者は気合いと根性でXSSを完全につぶさなければならない。 nodeIntegration:falseやContent-Security-Pol

    Electronでアプリを書く場合は、気合いと根性でXSSを発生させないようにしなければならない。 - 葉っぱ日記
    ockeghem
    ockeghem 2015/12/25
  • Host:リクエストヘッダによるXSS - 葉っぱ日記

    日、とある会合にてTwitterで交わされていたこの会話が話題になりました。 紹介されている例はHostヘッダの操作を経路とする攻撃ということであり、Hostヘッダインジェクションという脆弱性はないと思いますよ / “PHPにおけるHostヘッダインジェクション脆弱性 ― A Day in Serenit…” https://t.co/sTzTQEE7a8— 徳丸 浩 (@ockeghem) 2015, 11月 6 @ockeghem @okumuri 実はIEでは細工したホストヘッダを送出できる手法が知られています。間違いなくIEのバグですが、このせいで値をそのまま出力しているサイトではXSSがありえてしまいます。ここが参考になります: https://t.co/G419aaUgNi— Masato Kinugawa (@kinugawamasato) 2015, 11月 9 知る人ぞ

    Host:リクエストヘッダによるXSS - 葉っぱ日記
    ockeghem
    ockeghem 2015/11/11
    『ApacheやNginxではHostヘッダに/が含まれる場合に 400 Bad Request を返す』<Tomcatでは正常に攻撃までいけました
  • 脆弱性"&'\ Advent Calendar 2014 (17日目) - 葉っぱ日記

    この記事は脆弱性"&'<<>\ Advent Calendar 2014の17日目の記事です。今日は少し昔話をしようと思います。がはは。 かつて、日TwitterのようなWassrというサービスがありました。当時、Twitterは数日に一度くらいはサービスが落ちていて、Twitterユーザーも「またか」と思いながら我慢して使うようなサービスであり、Twitterが落ちるたびにWassrはユーザーを増やすとともに、画像の添付のように当時Twitterにはまだなかった機能をどんどんアグレッシブに取り入れていく、使っていて楽しいサービスでした。 さて、そんなWassrがある日絵文字機能を導入しました。当時はUnicode絵文字もなくスマートフォンも普及しておらず、主にレガシーな携帯電話で使える絵文字をなんとかWeb上でも使えるようにしたという感じのものでした。 絵文字をパレットから選択すると

    脆弱性"&'\ Advent Calendar 2014 (17日目) - 葉っぱ日記
    ockeghem
    ockeghem 2014/12/17
    いい話だった
  • ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記

    2014-09-27: 該当サイト上にXSSがなくても攻撃可能であることが id:mayuki さんのコメントで判明しましたので全面的に書き直しました。ファイアウォール内であっても攻撃者はファイアウォール内のShellshock攻撃が通用するCGIのURLがわかっているだけで攻撃可能ですので早急に対応が必要です!会社のブログにも書いてますが、ファイアウォール内に置いてあるサーバで攻撃者が直接アクセスできないからといってbashの更新を怠っていると、条件によっては攻撃が可能となります。 条件としては、 そのサーバにはシェルを経由して外部コマンドを起動するCGI等が動いている(通常のShellshockの攻撃と同条件) 攻撃者がそのURLを事前に知っている(あるいは推測可能) となります。 攻撃者は、ユーザーを罠URLへ誘導し、以下のようなJavaScriptを罠ページ上で動かし、攻撃対象のW

    ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記
    ockeghem
    ockeghem 2014/09/26
    『XSSを使わななくても、クロスオリジンで簡単に環境変数を設定できるようなリクエストの投げ方を知ってる人いたら教えてください!』<DNSリバインディングとか…
  • LINE株式会社 に行ってきた! - 葉っぱ日記

    台風一過!はせがわです。 というわけで、Shibuya.XSSの会場を快く貸してくださったLINE株式会社さんに行ってきた! サイボウズのバグハンター合宿で疲れた体を引きずりながら大勢で魔宮である渋谷駅を抜けヒカリエへ。 出迎えてくれたのはおなじみのコニー、ブラウン、ムーンをはじめとする愛らしいキャラクターの面々。 ジェームズとジェシカもお出迎え。 見晴しのいい窓際にも。 遠くには夕焼けの富士山も見える! 大量のレッドブルを前にご満悦の941さん。 というわけで、夜遅くのグデグデな勉強会なのに快く会場をお貸しくださったLINE様、941さん、ありがとうございました! 雑なパクリ風味記事ですみません>< - ちなみに、Shibuya.XSS テクニカルトーク #5の内容や資料については、いつもどおり azu さんによる記事:Shibuya.XSS テクニカルトーク #5 アウトラインメモ |

    LINE株式会社 に行ってきた! - 葉っぱ日記
    ockeghem
    ockeghem 2014/08/16
  • mXSS - Mutation-based Cross-Site-Scripting のはなし - 葉っぱ日記

    ここ数年、XSS業界の最先端で盛り上がっている話題として mXSS というものがあります。mXSS - Mutation-based XSS とは、例えば innerHTML などを経由してすでに構築されているDOMツリーを参照したときに、来のDOM構造とは異なる結果を得てしまい、そのためにHTML構造の破壊を引き起こすという類のDOM based XSSの亜種とも言えます。 mXSSに関しては以下の資料などが参考になります。 The innerHTML Apocalypse mXSS Attacks: Attacking well-secured Web-Applications by using innerHTML Mutations どちらの資料にも掲載されていますが、mXSSのきっかけとなったのは 「教科書に載らないWebアプリケーションセキュリティ(1):[これはひどい]IEの

    mXSS - Mutation-based Cross-Site-Scripting のはなし - 葉っぱ日記
    ockeghem
    ockeghem 2014/05/08
    『mXSSとは、例えば innerHTML などを経由してすでに構築されているDOMツリーを参照したときに、本来のDOM構造とは異なる結果を得てしまい、そのためにHTML構造の破壊を引き起こすという類』
  • IEを使わずにリモートのファイルをダウンロードする方法 - 葉っぱ日記

    Windows+Rを押し「ファイル名を指定して実行」のダイアログを表示する。 「参照」を押し、ファイルオープンのコモンダイアログを表示させる。 「ファイル名」の欄にダウンロード対象のURLを張り付けて「開く」を押す 「ファイル名を指定して実行」のダイアログに戻ってくるが、このときすでにダウンロードが完了し、ダウンロード済みのファイルが「名前」欄に入力されているので、これをコマンドライン等任意のツールで扱う。 以上。 「ファイル名を指定して実行」の名前欄に直接URLを張り付けると、httpプロトコルスキームに関連付けられた既定のブラウザによってそのコンテンツが開かれてしまうが、コモンダイアログをいったん経由させればブラウザは経由しない。ただし、ダウンロードのためにWinHTTP or WinINetは使用される(あってる?)。

    IEを使わずにリモートのファイルをダウンロードする方法 - 葉っぱ日記
    ockeghem
    ockeghem 2014/05/01
    『「ファイル名を指定して実行」の名前欄に直接URLを張り付けると…既定のブラウザによってそのコンテンツが開かれてしまうが、コモンダイアログをいったん経由させればブラウザは経由しない』
  • JPCERT/CCの「HTML5(中略)調査報告書」が安全になっていた - 葉っぱ日記

    JPCERT/CCは「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」(PDF))を以下のURLから公開しています。 http://www.jpcert.or.jp/research/html5.htmlHTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」はお勧めである、とするエントリを書こうかと思い、久しぶりにJPCERT/CCのトップページを確認すると改定されていました。 古いJPCERT/CCのトップページは右肩のお知らせ欄で「HTML5(中略)調査報告書」をリンクしていました。国内情報セキュリティの向上を目指しているのがJPCERT/CCですが、多数のお知らせに流れて「HTML5(以下略)」が消えてしまいました。はっきり言うと当然でした。 しかし、今も「HTML5を利用したWebアプリケーションのセキュリティ問題に関す

    JPCERT/CCの「HTML5(中略)調査報告書」が安全になっていた - 葉っぱ日記
    ockeghem
    ockeghem 2013/12/20
  • Chromeで(☝ ՞ਊ ՞)☝ウイーン - 葉っぱ日記

    この記事はEject Advent Calendar 20133日目の記事です。ちなみに今日は僕の誕生日です かつて一世を風靡し世界中のChromeユーザーを病院送りにしたCD-ROM トレイを取り出せる Chrome拡張、「chrome-eject」ですが、内部でNPAPIを使っていたために近い将来確実に動かなくなります。 Chromium Blog: Saying Goodbye to Our Old Friend NPAPI そこで人類が平和に暮らせるようEjectできる代替措置を探す必要に駆られ、非常に限定的ながらChromeからEjectする方法を確立し、Chrome-eject2としてリリースしましたのでAdvent Calendarの記事として記す次第です。 Chrome-eject がこの先生きのこるには from Yosuke HASEGAWA 上記スライド内にも書いてあ

    Chromeで(☝ ՞ਊ ՞)☝ウイーン - 葉っぱ日記
    ockeghem
    ockeghem 2013/12/03
  • バグハンティング生活 - 葉っぱ日記

    セキュリティの専門家が錦糸町の小さな会社についたとき、JVNに一人のバグハンターが乗っていた。 JVNの中には数種のXSSが載せられていた。 そのセキュリティ専門家はバグハンターにバグの品質を褒めて、見つけるのにどれくらい時間がかかったのか尋ねた。 バグハンターは答えた。 「ほんの少しの間さ」 「何故、もう少し続けてもっとバグを見つけないのかい?」 「これだけあれば、家族がべるのには十分だ。」 「でも、君は残った時間に何をするんだい?」 バグハンターは答えた。 「朝はゆっくり目を覚まし、少しXSS探しをして、社長たちと遊び、同僚の隆と昼寝し、夕方にはFacebookを散策し、はてブを味わい、アミーゴ(仲間)とTwitterで呟くのさ。それで人生は一杯さ。」 セキュリティ専門家は小馬鹿にし、 「私はCDIの上級分析官を取得しててね、きっと君を助けることが出来ると思うよ。」 「君は、もっとバ

    バグハンティング生活 - 葉っぱ日記
    ockeghem
    ockeghem 2013/11/21
    タイトルは「錦糸町のバグハンターの話」がよいかと思った
  • 空前の脆弱性ハンティングブーム - 葉っぱ日記

    追記:このエントリーは以下の記事を極限までに参考にさせて頂きました。いつも著作権フリーでコピー改変OKな記事の提供ありがとうございます!それにしても、ほんとうに実力さえあればパクリだけでべていける時代なんですね! http://www.whitehackerz.jp/blog/?p=2245 自社製品やWebサイトの脆弱性を報告することで報奨金や謝辞が出るのは Google や Mozilla をはじめ海外では様々なものがありましたが、ここにきて日でもいよいよ脆弱性報告に報奨金を支払う著名サイトが出てきました。 脆弱性報告制度 << mixi Developer Center (ミクシィ デベロッパーセンター) 未知のXSSやSQLインジェクションなどの報告者に:ミクシィが「脆弱性報告制度」開始、報奨金も用意 - @IT サイボウズグループ | ニュース | サイボウズ、国内商用クラウ

    空前の脆弱性ハンティングブーム - 葉っぱ日記
    ockeghem
    ockeghem 2013/11/10
  • JavaScript文字列の動的生成におけるエスケープ - 葉っぱ日記

    JavaScript文字列を動的生成する」と一言で言っても、例えば <html>... <script> // HTML内のscript要素内に生成 var s = "ここに動的生成される"; </script> だったり、 <div onclick='foo("ここに動的生成される");'> だったり、 <script src="external.js"></script> // external.js var s = "ここに動的生成される"; だったり、さらに複雑な組み合わせだったりといろんな状況があって、基的には「JavaScriptとしてのエスケープ」に加えてその外側の(場合によってはネストしている)コンテキストに応じたエスケープが必要、という話。 で、面倒だったら var s = decodeURIComponent( "ここに動的生成される" ); にして、生成する側はU

    JavaScript文字列の動的生成におけるエスケープ - 葉っぱ日記
    ockeghem
    ockeghem 2013/11/07
    実用的にはとてもありと思うのですが、はせがわさんのことだからきっとCSP前提のコードが出てくるのかと思っていたところ、違った
  • セキュリティ・キャンプ2013 お疲れ様でした - 葉っぱ日記

    今さらという感じもありますが、セキュリティ・キャンプ2013にWebセキュリティ・クラスの講師として今年も参加しました。 Webセキュリティ・クラス以外の実施内容については様々な記事をご参照いただくとして、ここではWebセキュリティ・クラスでの講義内容をご紹介したいと思います。 今年のWebセキュリティ・クラスでは、DOM based XSSを中心に、クライアントサイドで発生する脆弱性を中心に取り上げて講義および実習を行いました(参考:▶ セキュリティ・キャンプ2013:Webセキュリティクラスのご紹介)。ビデオ内でも話していますが、取り上げる内容をクライアントサイドに限定したのは、SQLインジェクションのような古くから存在するサーバ上の問題点については根的な解決方法も見出されているものの、DOM based XSSのようなクライアントサイドで発生する問題についてはJavaScript

    ockeghem
    ockeghem 2013/08/26
  • 補足編:機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記

    「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記」の補足編です。 結局、よくわからないんだけど。 よくわからない場合は、とにかく全てのレスポンスに X-Content-Type-Options: nosniff をつけましょう。 機密情報を含むJSONにX-Content-Type-Options:nosniffをつける理由はわかったけど、「あらゆる」コンテンツにつける理由はなぜ? 機密情報を含まなくても、<script>のような文字列を含むコンテンツをIEで直接開いた場合にはXSSにつながる可能性もあります。どのようなコンテンツにX-Content-Type-Options:nosniffが必要かを考えるくらいであれば、全てのコンテンツに付与したほうが間違いがなくていいでしょう、ということです。 IEのためだけの問

    補足編:機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
    ockeghem
    ockeghem 2013/05/21
    はせがわさんが既に指摘しておられました>『現在X-Content-Type-OptionsレスポンスヘッダによるContent-Typeの厳格化はIE以外のブラウザにも導入される動きがあります』
  • 機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記

    WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記)。 例えば、機密情報を含む以下のようなJSON配列を返すリソース(http://example.jp/target.json)があったとします。 [ "secret", "data", "is", "here" ] 攻撃者は罠ページを作成し、以下のようにJSON配列をvbscriptとして読み込みます。もちろ

    機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
    ockeghem
    ockeghem 2013/05/17
    JSONをVBScriptとして読み込ませ、わざとエラーにすることでエラーハンドラ経由でJSONハイジャックするという凄い技
  • Web StorageやindexedDBを扱う上でのセキュリティ上の注意点 - 葉っぱ日記

    localStorageやsessionStorage、あるいはindexedDBのようなブラウザ上でのデータの保存が可能になったことで、これらを取り扱ううえでもセキュリティ上の注意点が必要である。 これらのストレージは、localStorageやindexedDBは永続的に、sessionStorageはブラウザやタブを閉じるまでの間データが保持され続けるので、例えばWebアプリケーションがログイン機構を持っている場合にログイン中にこれらのストレージに書き込まれたデータは、ログアウト後も当然参照および書き換えが可能である。Webアプリケーション上のアカウントに紐づいたデータをこれらのストレージに書き込んでいる場合、ログアウト後もアクセス可能なことが問題を引き起こす可能性がある。 例えばTwitterのようなサービスがあったとして、(navigator.onLineプロパティなどを利用して

    Web StorageやindexedDBを扱う上でのセキュリティ上の注意点 - 葉っぱ日記
    ockeghem
    ockeghem 2013/03/09
    ここで議論している前提条件では、秘密情報をlocalStrageに保存してはいけない、というのが正解ではないかな?
  • XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記

    合わせて読んでください:Flashと特定ブラウザの組み合わせでcross originでカスタムヘッダ付与が出来てしまう問題が未だに直っていない話 (2014-02/07) XMLHttpRequestを使うことで、Cookieやリファラ、hidden内のトークンを使用せずにシンプルにCSRF対策が行える。POSTするJavaScriptは以下の通り。(2013/03/04:コード一部修正) function post(){ var s = "mail=" + encodeURIComponent( document.getElementById("mail").value ) + "&msg=" + encodeURIComponent( document.getElementById("msg").value ); var xhr = new XMLHttpRequest(); xhr

    XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記
    ockeghem
    ockeghem 2013/03/02
    素晴らしいですね。今後地方公共団体で以下の様な光景が…トークンだとCSRF抜けが出るらしいぞ→XHRだとOK→はせがわ方式が普及 胸が熱くなるなw
  • 退職のお知らせ - 葉っぱ日記

    昨日2012年3月31日をもってネットエージェント株式会社を退職しました。 2008年1月からでしたので4年と少しという長くはない期間でしたが、とても密度の高い時間を過ごせたと感じています。周りには、新卒で入って1年も経っていないのにバイナリの固まりを見るだけでそのなかに埋め込まれたデータを的確に目視で抽出するような人や、再現性が恐ろしく低くなかなか原因がわからなかったバグを退治する手伝いをお願いしたら、1時間もしないうちに「だいたい原因はわかりました。xxxという関数のバッファが1バイト足りていないんだと思いますが、ちゃんと確認したいのでソースコード見せて下さい」という返事を返してくるような気違いみたいなバイナリアンが多く、どれだけ学んでも自分なんて追いつけない圧倒的な劣等感を感じさせてくれる会社でした。 また、課長や部長といった管理職への昇進だけが昇給の道ではなく、技術面で優れた人材を

    退職のお知らせ - 葉っぱ日記
    ockeghem
    ockeghem 2012/04/12
    "昨日2012年3月31日をもってネットエージェント株式会社を退職しました。" < 難易度高いんですけど