タグ

XSSに関するcnomiyaのブックマーク (22)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    cnomiya
    cnomiya 2011/07/14
    修正方法::$() 関数に渡す文字列が /\s*</ で始まらない限り("<"で始まるか、空文字列の後に"<"で無い限り)タグ生成にならないようにする|影響は要調査
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    cnomiya
    cnomiya 2011/07/11
    同意。耳痛|バグやエラーとセキュリティ上の問題は別|ライブラリを設計する際は、想定外の値が入力されて「エラーを引き起こす」ことがあっても、それが致命的な脆弱性にならないように配慮されているべき
  • X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記

    2011-01-06: IE8ということを追記 & ちょっと間違いを修正。あけましておめでとうございます。 年明け早々ですが、Internet Explorerの話題です。IEはご存じの通り、Content-Type だけでなくコンテンツの内容なども sniff することでファイルタイプを決定しているため、画像ファイルやテキストファイルをHTMLと判定してしまい、クロスサイトスクリプティングが発生することが昔からたびたび報告されていました*1。現在は幾分マシになったとはいえ、IEのファイルタイプの判定アルゴリズムは非常に難解であり、現在でも状況によってはWebサイト運営者のまったく意図していないかたちでのXSSが発生する可能性があったりします。そういうわけで、IEがコンテンツを sniff してHTML以外のものをHTML扱いしてしまうことを防ぐために、動的にコンテンツを生成している場合に

    X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記
  • XSS対策:JavaScriptのエスケープ(その2) - ockeghem's blog

    5/11の日記XSS対策:JavaScriptなどのエスケープ - ockeghem(徳丸浩)の日記に対する金床さんのコメントに触発されて、JavaScriptのエスケープについて検討してみよう。ただし、現実のアプリケーション開発においては、私はJavaScriptの動的生成を推奨していないが、これはエスケープ処理をどのように考えるかと言うレッスンのつもりで検討することにする。 金床さんのコメントで紹介されたリンクには、以下のようなガイドライン案が提案されている。 JavaScriptの文字列でのエスケープ手順としては、以下が今のところ正解っぽい感じです。 1. 「\」を「\\」に置換する 2. 「"」を「\"」に置換する 3. 「'」を「\'」に置換する 4. 「/」を「\/」に置換する 5. 「<」を「\x3c」に置換する 6. 「>」を「\x3e」に置換する 7. 「0x0D(CR)

    XSS対策:JavaScriptのエスケープ(その2) - ockeghem's blog
    cnomiya
    cnomiya 2010/12/16
    「/」のエスケープは(略)”--></script>” のような文字列を生成させないために必要(略)(「<」「>」をエスケープしないなら)|XMLエスケープ→JavaScriptエスケープの順なら「/」はJSエスケープ対象外でもOKということ?
  • 文字コードのセキュリティ問題はどう対策すべきか: U+00A5を用いたXSSの可能性 - 徳丸浩の日記(2009-03-11)

    _U+00A5を用いたXSSの可能性 前回の日記では、昨年のBlack Hat Japanにおける長谷川陽介氏の講演に「趣味と実益の文字コード攻撃(講演資料)」に刺激される形で、Unicodeの円記号U+00A5によるSQLインジェクションの可能性について指摘した。 はせがわ氏の元資料ではパストラバーサルの可能性を指摘しておられるので、残る脆弱性パターンとしてクロスサイト・スクリプティング(XSS)の可能性があるかどうかがずっと気になっていた。独自の調査により、XSS攻撃の起点となる「<」や「"」、「'」などについて「多対一の変換」がされる文字を探してきたが、現実的なWebアプリケーションで出現しそうな組み合わせは見つけられていない。 一方、U+00A5が処理系によっては0x5C「\」に変換されることに起因してXSSが発生する可能性はある。JavaScriptがからむ場合がそれだ。しかし、

    cnomiya
    cnomiya 2010/12/16
    HTMLエスケープ→JavaScriptエスケープの順番でやれば、問題ないのだろうか?
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    cnomiya
    cnomiya 2010/11/25
    良記事|過剰エスケープしていなければ、[% value | html | js | html %]で基本OK?
  • JavaScript文字列のエスケープ

    (Last Updated On: 2013年12月4日) 追記:新しくより安全なバージョンはこちらです。 hoshikuzuさんのページに書いてあるJavaScript文字列のエスケープ方法です。(元ネタのメールアーカイブは文字が欠落) http://d.hatena.ne.jp/hoshikuzu/20071011#p1 1. 「¥」を「¥¥」に置換する 2. 「”」を「¥”」に置換する 3. 「’」を「¥’」に置換する 4. 「/」を「¥/」に置換する 5. 「<」を「x3c」に置換する 6. 「>」を「x3e」に置換する 7. 「0x0D(CR)」を「¥r」に置換する 8. 「0x0A(LF)」を「¥n」に置換する SmartyのJavaScirpt文字列のエスケープ方法です。 CVS版:2007/10/12 case ‘javascript’: // escape quotes

    JavaScript文字列のエスケープ
    cnomiya
    cnomiya 2010/11/25
    「¥」「"」「'」「/」「<」「>」「0x0D」「0x0A」|あれ?「\」は?|「\」は「¥」!?
  • GOLEM-XIVの日記

    cnomiya
    cnomiya 2010/11/25
    reflected XSS attackとstored XSS attack|1.変数をHTMLに出力する際には必ずエスケープ|2.イベントを記載可能な位置にスクリプトを埋め込める設計としない|3.ホワイト・リストでチェックする
  • アドオン「NOSCRIPT」でIE8のXSSフィルタをFirefoxで再現 | 教えて君.net

    FirefoxはXSS攻撃に関してはバージョンアップの度に修正を加えることでこまめに対策しているが、IE8のようなXSSフィルタも「NOSCRIPT」アドオンで再現できる。 「NoScript」はIE8のようなXSSフィルタをFirefoxでも利用可能するほか、Javaなどの危険なスクリプトを開かないようにするフィルタ機能を提供するアドオンだ。ただし、安全なサイトのスクリプトもブロックしてしまうので、その度にホワイトリストに登録しなければならないのが難点だ。Firefoxのセキュリティ能力を底上げできるのはありがたいが、IE8に搭載されているフィルタほど使い勝手がよくないのが残念なところだ。

  • IEBlog : IE8 Security Part IV: The XSS Filter - 葉っぱ日記

    IEBlog : IE8 Security Part IV: The XSS Filter について、記事を書いた David Ross さんに翻訳許可をもらいましたので、訳してみました。誤訳や指摘がありましたらガンガン突っ込みをお願いいたします(他の記事も時間をとって訳していこうと思います)。当然ながら、これは私が私的に訳したものであり、Microsoftによる公式な翻訳/見解ではありません。 (訳注追加) 「reflected / Type-1 XSS」というのは、攻撃コードが被害者からのリクエスト自身に含まれるタイプのXSSで、サーバ側のアプリケーションでユーザからのリクエストに含まれる攻撃コードを「反射的」に返すような種類のXSSです。典型的には「"><script>...」のような語を検索したときに <input type="text" value=""><script>..."

  • http://nyx.pu1.net/function/strings/htmlspecialchars.html

  • fn:escapeXml()

  • Javaの道:Taglibs(4.Standard Taglibs:coreタグライブラリ)

    Javaの道:Taglibs(4.Standard Taglibs:coreタグライブラリ)
  • printenv at xss-quiz.int21h.jp

    printenv at xss-quiz.int21h.jp Your IP address: 133.242.243.6 () NameValue HTTP_ACCEPT*/* HTTP_CACHE_CONTROLno-cache HTTP_CONNECTIONclose HTTP_HOSTxss-quiz.int21h.jp HTTP_USER_AGENTHatenaBookmark/4.0 (Hatena::Bookmark; Analyzer) QUERY_STRING REMOTE_ADDR133.242.243.6 REQUEST_METHODGET REQUEST_SCHEMEhttp REQUEST_URI/

  • 2007年のクロスサイトスクリプティングを振り返って - 葉っぱ日記

    最近あちこちで「日記書くのサボってるよね」とか言われたので、サボってるわけじゃなくって書くネタがないだけだけど、無理やり2007年のXSSを振り返ってみるというネタで書いてみます。以下、著名サイトで見つけたXSSです。 産業技術総合研究所のXSS 404応答のページにてcharsetの指定がないため、UTF-7を利用したXSSが可能でした。ただし、ページ中に日語を含むため、CVE-2007-1114を利用しIE7にてUTF-7で書かれたiframeを経由した場合のみXSS可能でした。ですので、実際の脅威にはつながりにくいと思います。届出:2007年4月11日、修正完了:2007年6月5日 sourceforge.jpにおけるXSS cvs.sourceforge.jpにおける404応答のページにてcharsetの指定がないため、UTF-7によるXSSが可能でした。ログインした状態ではセッ

    2007年のクロスサイトスクリプティングを振り返って - 葉っぱ日記
  • 第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp

    前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“⁠UTF-8⁠”を指定することをお勧めします。サイトによってはSJIS、EUC-JP

    第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp
  • Bugtraq

  • クロスサイトスクリプティング(XSS)とCSRFの違い早分かり - ockeghem(徳丸浩)の日記

    昨日の日記で、DK祭りで使われている脆弱性がXSSかCSRFかという問題になった。どうも、XSSとCSRFがごっちゃになっている人もいるように見受けるので、簡単な整理を試みたい。 XSSとCSRFには似た点がある。 どちらも「クロスサイト」という言葉が先頭につく なりすましのようなことが結果としてできる どちらも受動型攻撃である それに対して、もちろん違う点もある。専門家から見れば「似てるも何も、そもそも全然違うものですよ」となるのだろうが、現に混同している人がいるのだから紛らわしい点もあるのだろう。 私思うに、XSSとCSRFの決定的な違いは、以下の点ではないだろうか。 XSSは攻撃スクリプトがブラウザ上で動くが、CSRFはサーバー上で動く このため、XSSでできる悪いことは、すなわちJavaScriptでできることであって、攻撃対象のCookieを盗み出すことが典型例となる。一方、CS

    クロスサイトスクリプティング(XSS)とCSRFの違い早分かり - ockeghem(徳丸浩)の日記
  • yohgaki's blog - いろいろ変わったXSSがありますが...

    (Last Updated On: 2007年10月12日)私が知らなかっただけかもしれませんが、これにはかなり驚きました。いろんな所で問題が指摘されていますが、ECMAScriptにXML機能を追加したのはどうなんでしょうね…. 確かにかなり便利なのですが以下のコードでスクリプトが実行されることはほとんど知られていないでしょうね。 <script> 123[”+<_>ev</_>+<_>al</_>](”+<_>aler</_>+<_>t</_>+<_>(1)</_>); </script> 好むと好まざる関係なくFirefox 1.5から使えるのでWeb開発者は知っておかなればならないです。 日語訳 http://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html 原文 http://www.ecma-international.org/pu

    yohgaki's blog - いろいろ変わったXSSがありますが...
    cnomiya
    cnomiya 2007/10/15
    123["eval"](alert(0))を知りませんでした。。。
  • 葉っぱ日記 - レジストリの HKCR¥MIME¥Database¥charset 以下に定義されています。

    UTF-7を利用したXSSは、charset が指定されていない場合に発生すると考えられていますが、少なくとも Internet Explorer においては、これは大きな間違いです。正しくは、Internet Explorer が認識できる charset が指定されていない場合であり、charsetが付加されていても、IEが認識できない文字エンコーディング名である場合にはXSSが発生します。 例えば、次のような HTML は(HTTPレスポンスヘッダで charset が明示されていない場合)IEが文字エンコーディング名を正しく認識できないため、その内容からUTF-7と解釈されるためにスクリプトが動作します。"utf8"という表記はUTF-8の慣用的な表現ではありますが、ハイフンが抜けており正しい表記ではありません。 <html> <head> <meta http-equiv="Co

    葉っぱ日記 - レジストリの HKCR¥MIME¥Database¥charset 以下に定義されています。