/.J の XSS 対策 13
ストーリー by tach
ご迷惑をおかけしました 部門より
ご迷惑をおかけしました 部門より
近頃巷を賑わせている XSS(クロスサイトスクリプティング)問題だが,
/.J でもいくつかの脆弱性が発見されている.そのたびに修正してきた
のだが,付け焼き刃の対策では根本的な修正にならないと考え,コード
に手を入れ,問題が起きにくいように修正した.
いままで危険をさらしながら運用してきたことで,ユーザのみんなには 謝らないといけない.これからも /.J をよろしく.
対策の内容はおおまかにいうと以下の 2 点だ.
- フォームからの値を読むときは,デフォルトでエスケープする.ただし,HTML 入力を行うものだけは例外.
- テンプレートの見直しをして,危険そうなところにフィルタを挿入.
フォームからの入力をチェックすることで,ほとんどの問題を回避 できる.そもそも,クロスサイトスクリプティングはフォームから の入力に問題がある場合がほとんどなので,この対策はかなり有効 だと思われる.
また,出力時にフィルタをかますことによって,入力チェックと あわせて 2 重の対策が施されることになる.これで,ほとんどの クロスサイトスクリプティングを防ぐことができるだろう.
お疲れさまです (スコア:2, 興味深い)
slashdot.jpやosdn.jpの皆様とはかなり激しい論争?までさせて頂きました。お騒がせして申し訳ありませんでした。
slashdot.jpがメディアとして信じることができないかも?というような面まで突っ込みを入れましたが、個人的にはその点に関しても最終的には納得のいく反応を得られました。
私はコーディングのことはさっぱりわかりませんが、ITセキュリティマネジメント的には信頼できる体制になったように確信しています。
今後とも宜しくお願いします。(_o_)
office
入出力のエスケープ (スコア:2, すばらしい洞察)
ここ [ryukoku.ac.jp]でも言われているように、エスケープの必要の有無は、本来は出力時に決定されるわけです。
Re:入出力のエスケープ (スコア:2, 参考になる)
このあたり [ipa.go.jp]の「サニタイジングはHTML生成時に」に詳しく書いてありますね。
この記事 [ipa.go.jp]は、WEBプログラマには本当に参考になります。
XSS以外にも (スコア:1)
書き込めなくなる問題も直ったかしら?こちらは書き込めなくならないと検証できないけれども。
#オーバーホールお疲れさま。>tachさん
Re:XSS以外にも (スコア:1)
q 要素 (スコア:1)
微妙にオフトピ気味ですが微妙に話題的に近いので便乗して:)
現在では、投稿をする時に HTML の blockquote は使用できるのですが、 q は使用できない(たぶん)ですよね。
これって利用できるようになりませんかね。微妙に不便なので。
っと・・・。
Re:q 要素 (スコア:1)
だったら(一部の?)テキストブラウザだと i 要素が無視されたりして混乱しないのかというと、そこは引用符が表示されたりされなかったりよりは混乱が少ないということで……。だめですか?
鵜呑みにしてみる?
姿勢を評価します (スコア:1)
> 付け焼き刃の対策では根本的な修正にならないと考え,コードに手を入れ,問題が起きにくいように修正した.
というような、信頼するに足る一定のポリシーでメンテナンスが行われていること
及び
「問題があったので修正を行った(あるいは、問題があるのでこうやって回避して欲しい)」ということがユーザーに随時告知されること
が、とても重要だと思います。個人的には、特に、ユーザーへの告知が適切に行われないサービスは安心して使うことができません。安全かどうか、もさる事ながら、安全であるかどうかに運営サイドが留意しているかどうか、が見えないと不安です。
そういう観点から、このような告知が行われたことで、/.Jを安心して利用することが出来ると思えるようになりました。ありがとうございます。
で、もちろん (スコア:0)
Re:で、もちろん (スコア:1)
で、(slashdot.jpでも用いられている)slashcodeの最新版についても調査されているそうで、これについては問題箇所はもうなさそうだ ということでした。
ただ、現実にはslashcode 2.0系列?など独立に維持されているバージョンがあるとも聞いてます。
それらについてはどの程度コードが見直されているかどうかはわかりません。
office
Re:で、もちろん (スコア:0)
あ、申し訳ありません。 (スコア:1)
slashdot.jp(osdn.jp)「掲示板ユーザが自分で開発元に連絡するのが筋」
office「掲示板ユーザが開発元に連絡せにゃならんのだ?」
ってのが論点の一つだったのです。ここ暫くその論争で、
slashdot.jp上、私の掲示板上、メール、あげくの果てには2ch上でそれぞれの主張があり、このほど収まった次第です。
「掲示板ユーザが開発元に連絡しなければならない、ということはない」
というのが結論です。
office
Re:あ、申し訳ありません。 (スコア:0)