新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > 投稿順表示 (116/282)

投稿順表示 (116/282)

[3478] Re: 「CSRFとCSSXSSは分けて議論したい」

えむけい (2006年4月7日 15時42分)

> これは、スクリプトで cssText プロパティの値を取得する以外の方法でいわゆる「CSSXSS」が成立するというご指摘でしょうか。

>「条件」についての詳しい情報など、どこかにありますでしょうか。

条件の1つはスクリプトが有効なことです【謎】。

それが何で

>>MSIEは、スクリプトをオフにする

に対する返信になるのかは私に聞かれても分かりませんが【謎】。

[3477] Re: 「CSRFとCSSXSSは分けて議論したい」

えむけい (2006年4月7日 15時25分)

>>MSIEは、スクリプトをオフにする

>とありますが、

>CSSXSSでは、GETで持ってきたHtmlからHiddenを

>抜き出せる(条件がそろったときに)ので、

スクリプトが動かなければ抜き出せませんが。厳密には違いますけどそれとてアクティブ何とかを全部無効にしていればまったく問題ありませんし。

>セッションとは別に、サーバからは、トークンをcookeiで送り、

>次画面で、Hiddenで送送り返し、その値とセッションをチェックする。というのが正しいと思います。

それはサーバ側の対策です。引用された部分の1行前に

>> ちなみに利用者の対策としては、

としっかり書かれているわけですが。サーバとクライアントの区別もつかないのですか?

[3476] Re: 「CSRFとCSSXSSは分けて議論したい」

ばけら (2006年4月7日 15時13分)

>>MSIEは、スクリプトをオフにする

>とありますが、

>CSSXSSでは、GETで持ってきたHtmlからHiddenを

>抜き出せる(条件がそろったときに)

 これは、スクリプトで cssText プロパティの値を取得する以外の方法でいわゆる「CSSXSS」が成立するというご指摘でしょうか。

「条件」についての詳しい情報など、どこかにありますでしょうか。

[3475] Re: 「CSRFとCSSXSSは分けて議論したい」

海老になりたい鯛 (2006年4月7日 15時5分)

>MSIEは、スクリプトをオフにする

とありますが、

CSSXSSでは、GETで持ってきたHtmlからHiddenを

抜き出せる(条件がそろったときに)ので、

sessionをそのままHiddenにセットしてあると、

別にその人がScriptをオフにしてあっても、攻撃者のブラウザから

直接正しいSession付きのリクエストが送れます。

セッションとは別に、サーバからは、トークンをcookeiで送り、

次画面で、Hiddenで送送り返し、その値とセッションをチェックする。というのが正しいと思います。

[3474] Re: 「微妙に役に立つバッチファイル」

(2006年4月7日 14時7分)

[3473] Re: selectタグのデフォルト選択

ぼぼ (2006年4月6日 1時59分)

お答えありがとうございます。

やっぱりだめですか・・。

実はjspでstrutsを使ってるのでそういうタグもあるのですが、データの持ち方でちょっと大変かなと静的にやろうとしたんですけど・・。

ありがとうございました。

[3472] Re: selectタグのデフォルト選択

スターダスト (2006年4月6日 0時59分)

>HTMLの質問

静的なHTMLでは、おっしゃられていることは難しいかと思います。サーバーサイドでselected属性付きで都度出力してあげるのが一番でしょう。

#無関係な話題ですが人狼BBSというオンラインゲームでは、自分が今、何をselectしているのかがわかりやすいように、アスタリスクをつけたHTMLを吐き出していました。秀逸だと思いました。

<select name="todofuken">

 <option value="">

 <option value="北海道">北海道

 <option value="青森県">青森県

 <option value="岩手県" selected="selected">*岩手県

 <option value="宮城県">宮城県

 <option value="秋田県">秋田県

</select>

[3471] Re: selectタグのデフォルト選択

ぼぼ (2006年4月5日 23時58分)

早い返信ありがとうございます。

selectedをベタ書きすると常にそれが選択された状態となってしまいますよね?

optionに同じものがあった時それをデフォルト表示するという仕様にしたいのですが・・。

>というか「そこをselectedにしたい」とおっしゃっていますので、トートロジーでしょうか。

??トートロジーとはなんでしょうか??

よろしくお願いします。

[3470] Re: selectタグのデフォルト選択

スターダスト (2006年4月5日 23時47分)

>このようなソースでtodofukenが北海道だったら、そこをselectedにしたいのですが、できますでしょうか?

>よろしくお願いします。

selected属性 を利用すると良いのでは?

http://bakera.jp/hatomaru.aspx/ref/html/element/option

というか「そこをselectedにしたい」とおっしゃっていますので、トートロジーでしょうか。

[3469] selectタグのデフォルト選択

ぼぼ (2006年4月5日 23時28分)

はじめまして、HTMLの質問はここでしていいのでしょうか?

今、登録されたデータを書き出した時表示するページを作っています。

<select name="todofuken">

 <option value="">

 <option value="北海道">北海道

 <option value="青森県">青森県

 <option value="岩手県">岩手県

 <option value="宮城県">宮城県

 <option value="秋田県">秋田県

</select>

このようなソースでtodofukenが北海道だったら、そこをselectedにしたいのですが、できますでしょうか?

よろしくお願いします。

[3467] Re: 「CSRFの説明に追記」

えむけい (2006年4月4日 0時53分)

>HTMLDocument.domain を参照すると、'www.example.com' が返って来るように細工するですか…こんな乗っ取りじみたこと…(絶句)

どうも__defineGetter__はJavaScript(ECMAScriptでもJScriptでもないMozillaの実装)でしか使えないようなので、特定ブラウザの問題として却下するという解も捨てきれません。

何でもありという意味での権限上昇は確かに起きませんが、本来できないはずのクロスドメインのアクセスを許してしまうというのは権限上昇と取れないこともないですね。

[3466] Re: 「CSRFとCSSXSSは分けて議論したい」

えむけい (2006年4月4日 0時49分)

> というだけですね。もちろん、MSIE 必須かつスクリプト必須のサイトは利用できませんので、それについてはパッチ待ちとなります (まあ、そんなサイトそうそうありませんが)。

ところが対策案の一部にはJavaScriptでhiddenフィールドにワンタイムトークンを突っ込むなんてものまでありましたね。もう本末転倒の極みというか何考えてるのかさっぱり分かりませんが。

[3465] Re: 「CSRFの説明に追記」

スターダスト (2006年4月3日 16時21分)

>> document.domainを自ら検査し、あらかじめ決められているドメイン以外なら、

>とりあえずFirefoxの場合ですが、こういうのには対応してますか? してないほうに2セント賭けますが【謎】。

>HTMLDocument.prototype.__defineGetter__("domain", function(){return 'www.example.com';});

HTMLDocument.domain を参照すると、'www.example.com' が返って来るように細工するですか…こんな乗っ取りじみたこと…(絶句)

[3464] Re: 「CSRFの説明に追記」

ばけら (2006年4月3日 11時25分)

 あー、なんか閉鎖されちゃっていますね。

>「開発者のための正しいCSRF対策」というタイトルで文章を書かせていただいたのですが、大垣 靖男様より名誉毀損の可能性を示唆されましたので、公開を中止致します。ご迷惑をおかけして大変申し訳ありませんでした。

 そのページにリンクする形で追記したので、閉鎖されると意味がわからなくなってしまうのですが……。

 面倒ですが、CSSXSS の説明ページを追加して、そこにいろいろ書きますかね。

[3463] Re: 「CSRFの説明に追記」

ばけら (2006年4月3日 11時15分)

>なんで迷惑なのを知ってるんですか? IPAの中の人ですか? なら迷惑なのでソフトウェアベンダが直すと言ってるものを送らないでくださいと返信してあげればいいと思います。

 ちなみに、お門違いな届出は単純に不受理になるだけです。

 受理/不受理の判断も含めて IPA のお仕事なので、届け出ること自体はなんら問題ないと思います。

[3462] Re: 「CSRFの説明に追記」

えむけい (2006年4月3日 2時26分)

> document.domainを自ら検査し、あらかじめ決められているドメイン以外なら、

とりあえずFirefoxの場合ですが、こういうのには対応してますか? してないほうに2セント賭けますが【謎】。

HTMLDocument.prototype.__defineGetter__("domain", function(){return 'http://www.example.com/';});

Firefox 1.0~1.0.2にあった脆弱性の対応は、chrome vs. contentの場合にこの種の乗っ取りを不可能にするものでした。content vs. contentに関しては今でも仕様とされています(権限上昇するわけではないので)。

IEについては調べてませんが、

http://dean.edwards.name/IE7/

のようなことができるくらいなので、できるに違いないとは踏んでいます。

[3461] Re: 「CSRFの説明に追記」

スターダスト (2006年4月2日 21時18分)

>JSファイルはCSSXSSなんか使わなくてもクロスドメインで読める「仕様」だというのは以前そちらの日記【何処】に書いたと思いますが。

はい、その節はありがとうございました。その結果、某サイトは、'CSSXSS'を使わない、えむけいさんがおっしゃる方法による、アクセスからは、秘密情報を漏らさないようにJSファイルの中身を変更してい対応していました。

現在そのサイトでは、CSSXSSがなければ安全です。

ええと、ざっくばらんに言えば、そのJSファイルが、JSとして読み込まれれば、document.domainを自ら検査し、あらかじめ決められているドメイン以外なら、自分自身に記述してあるユーザのセンシティブがデータをnullで置き換えるというものです。そのソースを見たときには、ポンとひざを打ちました。こうしておけば、罠ページにあるJSからは、被害者サイトのJSがもたらすデータを取得してもnullになってしまいます。

[3460] Re: 「CSRFの説明に追記」

えむけい (2006年4月1日 23時52分)

>非ASCII文字以外は

「非ASCII文字は」の間違いです

[3459] Re: 「CSRFの説明に追記」

えむけい (2006年4月1日 23時51分)

> たとえば…JSファイル。

JSファイルはCSSXSSなんか使わなくてもクロスドメインで読める「仕様」だというのは以前そちらの日記【何処】に書いたと思いますが。

> Shift_JISなんかですと、難しかったりするかもしれません。

そこで非ASCII文字以外はすべて文字参照ですよ(もちろん { も)。文字化けも発生しなくなって完璧です。

まあ実際にそうしろと迫られたら私だったら断りそうですが【謎】。

[3458] Re: 「CSRFの説明に追記」

えむけい (2006年4月1日 23時45分)

> だからってすべての { が出るサイトが対応しないといけないの?

すべての添付ファイルが使えるWikiは対応させられそうな勢いでしたね。

> って、そんなのでいちいち指摘されてきたら迷惑なんですけど。

なんで迷惑なのを知ってるんですか? IPAの中の人ですか? なら迷惑なのでソフトウェアベンダが直すと言ってるものを送らないでくださいと返信してあげればいいと思います。

最近の日記

関わった本など