タグ

ブックマーク / masatokinugawa.l0.cm (19)

  • Masato Kinugawa Security Blog: ユーザ入力を使った正規表現から生じるDOM based XSS

    お久しぶりです&あけましておめでとうございます。昨年はブログを書く時間をうまく作ることができず、あまり記事を書けませんでした。今年はできるだけ月に1回程度何か書いていきたいと思っています。今年もよろしくお願いします! さて、ブログを書かなかった間にXSSからSQLインジェクションへ興味が移った、なんてことはありませんでしたので、今日もいつも通り大好きなXSSの話をしたいと思います! 最近、正規表現にユーザ入力を使っていることに起因するDOM based XSSに連続して遭遇しました。あまり見慣れていない注意が必要な問題だと思うので、この記事では、見つけたもの2つがどのように生じたか、また、問題を起こさないためにどうすればよいかを紹介します。 そのうちの1つはLINEのBug Bounty Programを通じて報告した問題です。 賞金と、"LINE SECURITY BUG BOUNTY"

    oppara
    oppara 2018/01/16
  • Masato Kinugawa Security Blog: ブラウザのXSS保護機能をバイパスする(14)

    前回、XSSAuditorのバイパスのチートシートを作ったという記事を書きましたが、さきほど、IE/EdgeのXSSフィルターのバイパスも公開しました。 https://github.com/masatokinugawa/filterbypass/wiki/Browser's-XSS-Filter-Bypass-Cheat-Sheet#ieedge%E3%81%AExss%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC この公開に合わせて、今日は強力なIE/EdgeのXSSフィルターのバイパスを1つ紹介しようと思います。 このバイパスはPOST経由以外の全てのReflected XSSで使えます。1年以上前に以下のようなツイートをしましたが、今から紹介するのがこのとき発見したベクターです。 I found pretty useful IE XSS

    oppara
    oppara 2017/05/22
  • Masato Kinugawa Security Blog: Browser's XSS Filter Bypass Cheat Sheet

    ブラウザのXSSフィルターのバイパスをまとめたページを作りました。 こちらです: https://github.com/masatokinugawa/filterbypass/wiki/Browser's-XSS-Filter-Bypass-Cheat-Sheet 現在のところ、Chrome/Safariのバイパスのみ掲載しています。そのうち、IE/Edgeも掲載するつもりです。 このページを作った理由は、Shibuya.XSS techtalk #9 というセキュリティの勉強会の時に、Firefoxのバグを発見しまくっていることで有名な西村さんが、「XSSフィルター、バイパスが発見されても、気付いたらいつの間にか使えなくなっていたりする。使えるものをまとめたXSSフィルターのバイパスのチートシートみたいなのがあったら便利」というようなことを言っていて、じゃあ僕が4月中に作りますと宣言して

    oppara
    oppara 2017/05/09
  • Masato Kinugawa Security Blog: CVE-2016-3212: XSSフィルターの^への置換動作を利用したXSS

    English version: http://mksben.l0.cm/2016/07/xxn-caret.html ------------------------------------------------------- 以前、CODE BLUEでXSSフィルターを利用したXSSの問題について発表しましたが、同様の問題が6月のパッチでCVE-2016-3212として修正されました。この記事では詳細を紹介します。 以前公開した資料にも書いたように、以前までは、XSSフィルターの遮断規則を攻撃とは無関係の文脈に適用させ、.を#に置換させることで、<script>のsrc値や<link>のhref値を変更することによる攻撃が可能でした。 2015年12月、Microsoftはこの問題に対応するために、この遮断規則のみ、#の代わりに^に置換するよう動作を変更しました。これにより確かに、上

    oppara
    oppara 2016/07/16
  • Masato Kinugawa Security Blog: ブラウザのXSS保護機能をバイパスする(8)

    English version: http://mksben.l0.cm/2016/05/xssauditor-bypass-flash-basetag.html ------------------------------------- このブログではおなじみ、ブラウザのXSS保護機能をバイパスするコーナーです。 今回はIEではなく、ChromeのXSS Auditorをバイパスします。 数日前、Marioさんが自身の発見したAuditorのバイパスが修正されたことに気付いて、新たなバイパスを探していたので、一緒になって探していたらみつけました。 Marioさんが新たにみつけたのはこちらです。 XSS Auditor Bypasses 05.2016https://t.co/c9UcjpDZZM (someone asked for PoC and test-case, here you

    oppara
    oppara 2016/05/20
  • Masato Kinugawa Security Blog: TinyMCE 4.3.9で修正されたXSS

    2月頃、リッチテキストエディタの TinyMCE のXSS脆弱性を報告しました。 特にセキュリティの修正をしたといったアナウンスはありませんが、数日前に公開された4.3.9でこの問題が修正されています。Twitterのプロフィールにも、「World's #1 most popular open source #WYSIWYG editor」 とあるくらい、世界的にも非常によく使われているリッチテキストエディタのようですので、更新を促すためにこの記事を書きます。 XSS脆弱性は 4.3.8 以下のバージョンにあります。 僕の知る限りでは、TinyMCEのPreview Plugin機能を使っていなければ影響を受けません。 この機能を呼び出さないようにするか、4.3.9以上に更新してください。 これ以下は、技術的な説明になります。この脆弱性の発生原因は、技術的にも少し面白いです。 発火する場所

    oppara
    oppara 2016/04/17
  • Masato Kinugawa Security Blog: hiddenなinput要素でユーザー操作を使わずにXSS

    徳丸さんがブログで紹介されたことで、<input type=hidden>でのXSSが話題になっていますね! hiddenなinput要素のXSSでJavaScript実行 | 徳丸浩の日記 http://blog.tokumaru.org/2016/04/hiddeninputxssjavascript.html 僕もちょうど、個人での検証の過程で発見した、hiddenでのXSS手法について、そろそろ共有しようと思っていたところでした。皆の関心が高いうちに、もう1つの方法を共有したいと思います! 徳丸さんのコードに倣って紹介します。今回は問題を簡単にするためにX-XSS-Protection:0をつけさせてもらいます。 <?php header('X-XSS-Protection:0'); header('Content-Type:text/html;charset=utf-8'); ?

    oppara
    oppara 2016/04/14
  • Masato Kinugawa Security Blog: Google Toolbarのコマンドを利用したXSS

    2015年6月頃にみつけた、toolbar.google.com の、少し変わったXSSを2つ紹介します。 The English version is here: http://mksben.l0.cm/2016/01/google-toolbar-xss.html 何が変わっているか このXSSは、Google ToolbarがインストールされているIEでしか動作しません。Google Toolbarがインストールされていると、toolbar.google.com 上に用意されたUIから、ツールバーを操作するコマンドを実行できるようになります。このコマンドを利用することでXSSに繋げるという点が、よくあるものとは異なります。 どのようにコマンドを実行しているか toolbar.google.com 上の次のページをみると、こんなコードを発見できます。 http://toolbar.go

    oppara
    oppara 2016/02/04
  • Masato Kinugawa Security Blog: IE/EdgeのXSSフィルターを利用したXSS

    English version: http://mksben.l0.cm/2015/12/xxn.html ------------------------------------------------ 2015年12月のMicrosoftの月例アップデートで修正された、Internet ExplorerとEdgeのXSSフィルターに存在した問題(CVE-2015-6144 および CVE-2015-6176)について書きます。 2015 年 12 月のマイクロソフト セキュリティ情報の概要 https://technet.microsoft.com/ja-jp/library/security/ms15-dec.aspx 修正された問題は、2015年10月に行われたセキュリティカンファレンスのCODE BLUEで詳細を伏せて発表した、IE/EdgeのXSSフィルターの動作を利用してXS

    oppara
    oppara 2015/12/26
  • Masato Kinugawa Security Blog: @font-faceのunicode-rangeを利用してCSSだけでテキストを読み出す

    English version: http://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html ---------------------------------- CSSの @font-faceのunicode-range を使った攻撃手法を思いついたので共有します。 この手法を使うと、攻撃者はCSSだけでページ内に書かれたテキストを推測することができます。 この手法は、次のような場面で利用できるかもしれません。 ・ ブラウザのXSS保護機能のバイパス(ChromeのXSS Auditorは<style>の注入をブロックしない) ・ ターゲットのページで、JavaScriptの実行はできないがスタイルが注入できた場合の攻撃への利用 自分が知る限りでは、CSSを利用した今でも使える既知の攻撃手法には、属性値を

    oppara
    oppara 2015/10/27
  • Masato Kinugawa Security Blog: ブラウザのXSS保護機能をバイパスする(7)

    English version: http://mksben.l0.cm/2015/09/bypassing-xss-filter-hzgb2312.html -------------------------------------------------------- HZ-GB-2312という文字コードのエスケープシーケンスにあたるバイト、~[0x0A]と~{を使ってIEのXSSフィルターをバイパスできることに気付いたので紹介します。 この手法はページのContent-Typeレスポンスヘッダで文字コードが指定されていない時限定で使えます。 バイパス 1 以下にIEでアクセスしてAAAにマウスを移動し、XSSフィルターに遮断されずにアラートが出ることを確認してください。 http://vulnerabledoma.in/char_test?body=%3Cx~%0Aonmouseov

    oppara
    oppara 2015/10/05
  • Masato Kinugawa Security Blog: ブラウザのXSS保護機能をバイパスする(6)

    Hi! Are you English-speaker? Good news! Finally, I started my blog in English: http://mksben.l0.cm/2015/06/bypassing-xss-filter-showmodaldialog.html I'm not good at English, but I think it is easier to read than Google translate. Maybe. Enjoy! ----------------------------------------------------------------------------- 先日、古くからあるJavaScriptの関数の1つの、showModalDialogの挙動について詳しくみていました。showModalDialogは、Ch

    oppara
    oppara 2015/06/18
  • Masato Kinugawa Security Blog: connection.swf + XSS によるクロスオリジンの情報奪取

    Flashを使った、ちょっと変わった情報奪取手法を紹介します。 この手法、以前から条件によっては攻撃が可能になる場合があるだろうと想像していたんですが、なかなか実例にぶつからず、2013年に開催されたサイボウズの脆弱性発見コンテスト「cybozu.com Security Challenge」で初めて当に動作するものを発見しました。 実は既に「SECCON 2013 全国大会」でも一部詳細を発表しています。スライドの15ページの辺りから書いてある件です。 http://www.slideshare.net/masatokinugawa/cybozu-security-challenge/15 発表の時点ではサイボウズ側で修正されていなかったので、具体的な箇所を伏せていますが、今は修正されたので、具体的な箇所をあげながら説明したいと思います。 なお、この問題はFlash自体の脆弱性ではない

    oppara
    oppara 2015/05/07
  • Masato Kinugawa Security Blog: Cure53 XSSMas Challenge '14 Writeup

    12月と言えばXSS-Masの季節ということで、最近は、XSS-Mas前から1月の終わりまで開催されていた、賞金付きXSSチャレンジ「Cure53 XSS-Mas Challenge 2014」に挑戦していました。 XSSチャレンジというのは、出題者がわざとわかりにくい形でXSSに脆弱にしたページ(例:特定の記号や文字が使えない、文字数制限がある等)で、指定した条件(alert関数 で「1」の文字をだすとか)をクリアして、スクリプトが実行できることを証明するという、XSSを嗜む人たちの間で楽しまれる一種のパズルゲームです。 実際にXSSで攻撃可能なことを証明しないといけない場面でも、特定の制約がかかることは多く、こういったチャレンジは単なるパズル遊びというだけでなく、攻撃の発想を養ううえでとても有益なものです。

    oppara
    oppara 2015/02/12
  • Masato Kinugawa Security Blog: Flashのlocal-with-filesystem Sandboxのバイパス

    この記事は 脆弱性"&'<<>\ Advent Calendar 2014 10日目の記事です! 発見したFlashのlocal-with-filesystem Sandboxをバイパスできた複数の脆弱性(CVE-2014-0534, CVE-2014-0537 か CVE-2014-0539, CVE-2014-0554)について書きます。 CVE-2014-0534 http://helpx.adobe.com/security/products/flash-player/apsb14-16.html http://helpx.adobe.com/security/products/flash-player/apsb14-17.html CVE-2014-0554 http://helpx.adobe.com/security/products/flash-player/apsb14-

    oppara
    oppara 2014/12/15
  • Masato Kinugawa Security Blog: ブラウザのXSS保護機能をバイパスする(5)

    先月に続いてIEのXSSフィルターをバイパスする記事です。 今回は、ブラウザのXSS保護機能をバイパスする(2) の応用を思いついたので紹介したいと思います。 ブラウザのXSS保護機能をバイパスする(2) で紹介した手法は、シンプルな反射型XSSが存在するとき、以下のような条件でIEのXSSフィルターをバイパスできることを示すものでした。 ・レスポンスヘッダにX-XSS-Protection:1 または X-XSS-Protectionの指定なし ・Content-Typeレスポンスヘッダにcharset指定がない ・<meta http-equiv=> でcharset指定をしている この記事を書いた段階では、<meta http-equiv=> でcharset指定をしている場合しかバイパスできないと考えていましたが、最近、<meta charset=> でcharset指定がある場合

    oppara
    oppara 2014/10/03
  • Masato Kinugawa Security Blog: Referrer文字列によるXSS part2

    以前、Referrer文字列を使ったXSSはIEだけでなくChromeやSafariでもできるということを以下の記事で紹介しました。 http://masatokinugawa.l0.cm/2013/10/referrer-xss.html が、その後のブラウザのアップデートで、紹介したdata: URLからReferrerをつける手法は使えなくなってしまいました。現在は、data: URLに<meta name="referrer" content="always">指定があっても、Referrerを送信しないように変わったようです。 ということで今回は、今も使える別のReferrerによるXSS手法を紹介したいと思います。 Safari( 最新の7.0.4で確認 )のみ動作します。以前はChromeでも動いていたのですが、33あたりから使えなくなりました。 以下からSafariでどうぞ

    oppara
    oppara 2014/06/30
  • Masato Kinugawa Security Blog: MS13-037: エンコーディングの自動選択の強制によるXSS

    2013年5月の月例パッチ、MS13-037で修正された、Internet Explorerでエンコーディングの自動選択を強制的に起こせたバグについて書きます。 http://technet.microsoft.com/ja-jp/security/bulletin/ms13-037 このセキュリティ情報に組み込まれている多層防御についてマイクロソフトと協力してくださった Masato Kinugawa 氏 アドバイザリには問題に対する説明がありませんが、多層防御で修正されたのがこの問題です。 今回は、ざっと、報告書っぽく。 -------------------------------------------- 報告日: 2012年11月23日 問題の概要: IEで特定の方法でページを表示しようとすると、ページのエンコーディングの指定にかかわらず、ページに含まれるバイト値からブラウザ側で

    oppara
    oppara 2013/12/19
  • Masato Kinugawa Security Blog: Referrer文字列によるXSS

    リファラを使ったXSSの小ネタです。 今回取り上げるのは、ターゲット自身が、細工したページを経由することでつけられたリファラによって攻撃を受けるケースです。このような攻撃の場合は、現実に経由可能なページからでしか攻撃文字列を送りこむことができません。 例えば、以下のように、document.referrerをそのままdocument.write()しているページがあるとします。 http://vulnerabledoma.in/location/ リファラを書き出している部分でXSSできるでしょうか。 IEでは単純です。 IEはURLのクエリに、エンコードせずに「"<>」などを含めることができるので、これらを含むURLから、リファラを書き出しているページへ遷移させれば、XSSが起きます。 http://l0.cm/xss_referrer.html?<script>alert(1)</sc

    oppara
    oppara 2013/11/07
  • 1