アカウント名:
パスワード:
そりゃ問題は「手抜き」の方にある訳で、物自体が云々ってモンでは無いですよ。
まあ、その辺りを考えて作ってナンボのフレームワーク自体が、って点は確かに問題ですが、それだって「作った奴が問題」ってだけの事だし、内部使用しか考えて作られていないものであれば、それを「外部で使うと判断した者が問題」な訳だし。
#元々利便性の為に手抜きする為のモンみたいな物だしねぇ。それをトレンドだけで使うからイカンってだけだよなぁ。
なんかPDFでは二種類の脆弱性について述べている気がするんだけど 1.(セッションが残ってる状態で?)悪意のあるサイトからサービスを呼ばれたとき、サーバ側でノーチェックだとそのまま情報が抜かれる 2.クライアント側で無闇にevalすんなハゲ
僕の読解が正しければ、 Fortify の文書で扱われているのは 1 のことであり、 2 は 3 ページの脚注 4 で軽く触れられているだけです。文書中で JavaScript Hijacking と名付けているのも 1 のことです。
Prototype.js などのクライアントサイドのライブラリーが 9 ページの表に含まれている意味は、その前のページに書いてあります。 Prototype.js で JSON を使うと、サーバーから取ってきたデータを読み取るだけなので、 Prototype.js を使う限り、サーバー側では「先頭に while(1); を付ける」とか「全体を /* */ で囲む」といった JavaScript Hijacking への対処法が使えません。そのため、「Prevents JavaScript Hijacking?」の欄が No になっています。 Script.aculo.us, Dojo, Moo.fx, jQuery, Yahoo! UI, MochiKit も同様と書かれています。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
だから… (スコア:1, 参考になる)
最近はいつのまにかSpywareやtrojanを突っ込まれたりとか「よくあること」になってしまっているのに、よくAjaxのように(よほどブラウザの弱点を熟知した上で上手に作らないと)リスキーな側面を孕んでいる技術を使うもんが無闇に使われてるよな…とか思っていましたが…(;´Д`)
一年…とまではいかないまでも半年はアドバイザリ出すのが遅かったような気がするんですが(;´Д`)
Re:だから… (スコア:0)
そりゃ問題は「手抜き」の方にある訳で、物自体が云々ってモンでは無いですよ。
まあ、その辺りを考えて作ってナンボのフレームワーク自体が、って点は確かに問題ですが、それだって「作った奴が問題」ってだけの事だし、内部使用しか考えて作られていないものであれば、それを「外部で使うと判断した者が問題」な訳だし。
#元々利便性の為に手抜きする為のモンみたいな物だしねぇ。それをトレンドだけで使うからイカンってだけだよなぁ。
Re:だから… (スコア:4, 参考になる)
どう注意すれば良いのかがすごく気になるのでタレコミからリンクされていたpdfを読んでみたんですが、 なんかものすごい泥縄のような・・・。
結局、
>The Web browser will send up the appropriate session cookie with the request.
ってことなんですね。cookieまで渡しちゃうとは思ってませんでした。
{"重要な", "秘密の", "データ"};
みたいなコードが実行されるだけなので(その配列はどこにも代入されない)、不正なHTML中から、その「重要な秘密のデータ」にアクセスする手段が無くて安全そう
で、対策は、(1)CookieだけじゃなくRefererも見る(いまいち安全ではない)、もしくは、 (2)正しいアクセスなら得られたJSON形式のソースコードを加工してから実行できるけど、 クロスサイトの側はただ実行することしかできないのを利用する(冒頭に"while(1);"を付けて、正しいアクセスの時はそれを削除する。不正アクセスは削除する機会が無く実行するのでハマる)。
Re:だから… (スコア:5, 参考になる)
# だいたい、HTTPXMLRequestって何だよorz
# 新たな技が出てくる度、話がややこしくなってきて付いていくのがやっと・・・。
Re:だから… (スコア:0)
googleもやってますね
Re:だから… (スコア:1, 参考になる)
そもそも今となってはHTTPセッションが癌のように思うし。
なんかPDFでは二種類の脆弱性について述べている気がするんだけど
1.(セッションが残ってる状態で?)悪意のあるサイトからサービスを呼ばれたとき、サーバ側でノーチェックだとそのまま情報が抜かれる
2.クライアント側で無闇にevalすんなハゲ
12種類のフレームワークについて調査したとか言ってるけど、1についてはクライアントサイドだけでどうにかなる話じゃないので
DWR、GWT、Microsoft Atlas、xajax以外はあんまり関係ない話だと思うんだけど、何を思ってごっちゃに調査したのかな。
JavaScript Hijackingなどと一つの名前で語ることじゃないような。
Re:だから… (スコア:3, 参考になる)
僕の読解が正しければ、 Fortify の文書で扱われているのは 1 のことであり、 2 は 3 ページの脚注 4 で軽く触れられているだけです。文書中で JavaScript Hijacking と名付けているのも 1 のことです。
Prototype.js などのクライアントサイドのライブラリーが 9 ページの表に含まれている意味は、その前のページに書いてあります。 Prototype.js で JSON を使うと、サーバーから取ってきたデータを読み取るだけなので、 Prototype.js を使う限り、サーバー側では「先頭に while(1); を付ける」とか「全体を /* */ で囲む」といった JavaScript Hijacking への対処法が使えません。そのため、「Prevents JavaScript Hijacking?」の欄が No になっています。 Script.aculo.us, Dojo, Moo.fx, jQuery, Yahoo! UI, MochiKit も同様と書かれています。