パスワードを忘れた? アカウント作成
5973 story

@nifty掲示板に重大なXSS脆弱性が発覚 63

ストーリー by Oliver
ユーザ入力は一切信じるな 部門より

Anonymous Coward曰く、"日経IT Proが伝えるところによると、@niftyの掲示板にクロスサイトスクリプティング(XSS)脆弱性が見つかり、緊急メンテナンス中だとのこと。記事によると、@niftyの掲示板ではHTMLのタグを自由に書けるようになっていたとのことで、スクリプトを動かすタグを書けてしまったようだ。スラッシュドットでもタグは書けるが、安全なものしか使えないように制限されているわけで、いまどき自由にタグを使えたとは信じがたい。記事によると、広報室は、10カ月以上にわたって問題の存在に気付かなかったと答えているそうだ。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 参考サイト (スコア:4, 参考になる)

    by 2channeller (13213) on 2003年06月25日 8時38分 (#345018)
    • by Anonymous Coward

      「問題の存在に気づかなかった」のではなく、「問題の重大性を理解していなかった」というのが正確なところではないかと思量します。根拠など詳しいことはちょっと書けないのですが、オープン直後にこの問題を認識していた人がいるのは確かで、おそらくニフティは報告を受けていたでしょう。ただ、理解はしていなかったのだと思います。

      とありますね。何ともはや。
      担当者にそれなりの教育をってのもありますが、情報が判断可能な然

      • パソコン通信風土 (スコア:1, すばらしい洞察)

        by Anonymous Coward on 2003年06月25日 9時21分 (#345041)
        問題の重大性を理解していなかった
        そうかもしれませんね。MSNなんかといっしょで、TTY時代からのクローズドなネットの風土が抜けきれていないのかもしれませんね。

        あそこって、パソコン通信時代の遺産(機材とかではなく管理体制とか人的な面)が多く残っていますから。
        WebフォーラムもTTYフォーラムとWeb掲示板系を変な形で融合した結果、インターウェイ以上にやたら使いにくくて中途半端です。

        そういうわけで、今はThe Netに移行するための産みの苦しみなのかもしれません。
        親コメント
      • by Anonymous Coward
        > 社長は理解は示しても実地で出来る能力はありませんし、それが仕事でもないのでその必要もありませんし。ど~なのかな~。

        しゃちょーの理解があるんなら、外注すればいいんでは?
        マトモな業者を見つけるのが大変かもしれませんが。
  • by Anonymous Coward on 2003年06月25日 7時29分 (#344991)
    楽天日記はまだスタイルシートが無制限に使えて画面偽装出来るようですが何か。

    楽天日記の場合、タグのサニタイジングは要素名で判断、Javascript対策は全文検索をかけて半角文字でdocumentのような javascriptで使われる文字列が見つかると危険と判断しているようです。ユーザーも困っているようで苦情書き込みも見つけました。半年前まで興味深く見守り何度か間接的に注意を投げましたがこんな状況です。
    楽天日記はログインしたままでユーザー間の日記を往復しているユーザーが多く、また奪ったアカウントは買い物や個人情報のアクセスにも使えるためセッションを奪えるとなかなか便利に使えます。
    1年前はJavascriptもばんばん使える状態で、そこから継ぎ接ぎの改良を重ねてやっとこの状態。
    方法論間違えた無駄な努力。小学校なら「よくがんばりましたで賞」を上げますが、この場合は無能のレッテルを貼る以外に術無し。
    開発に当たるチーム/個人の基本性能が不足しているように思えます。

    大手で知っているのは楽天くらいですが、他にもトップページや検索ボックスはさすがにサニタイジングしているものの hidden 要素で指定されている値を偽装してやると一発で壊れたり、問題のあるサイトは山ほどあります。コーヒーのブルックスも注文画面の一部でXSSが成立しますし、まぁ日常利用するサイトの大半、特に中堅に位置し大手のように識者からのチェックが入っていない割にユーザーを抱えているところとか恐ろしい話になっています。

    某MLでもFAQ気味の質問に対してセキュリティ的にヤバい返答が入り古老があわててフォローに入るといった場面も最近になって見受けられるようになりました。
    つい最近発見したXSS、、というか一切のサニタイジングを考慮しておらずGETメソッドからSQLクエリが投げれるように見えるサイトはMLの投稿歴から察するに言語歴が最低でも3年あり、現在は某ベンチャーのトップエンジニア兼社長をやっている人がコードを書いていたりします。

    XSSのような危険性を持つサイトの大半はそれを指摘したり間を置いて試すと一見修正が入ったように見えるのですが突っ込んで調べるとぼろぼろ不具合が出てきます。開発者に然るべき能力が欠如しているとしか思えません。

    動けばいい だけのプログラムが随分と増えてきたように思います。
    また開発を指揮管理する層や発注者、リスクヘッジすべき部署にいる人や経営者の大半の認識も「動いたらそれでええんとちゃうんかい」なレベルに止まっているように思えてなりません。
    • by Anonymous Coward on 2003年06月25日 11時20分 (#345128)
       去年からサイト構築後、本格OPENの前にセキュリティ診断を
      受けることになりました。
       最初は、うざったいと思っていたのですが、蛇の道はヘビというか
      もちはもちやというべきか、結構自信を持っていたのにボコボコに
      されました。
       決して安いものはないのですが、その道の第3者に診断して
      もらうのはそれだけの価値があると思いますが。
      親コメント
    • by Anonymous Coward on 2003年06月25日 7時32分 (#344992)
      ああ、そうそう、大手掲示板といえばallaboutの掲示板もそうでしたね。ガイドの方が中心になって指摘を続け最後は閉鎖とか逃げ腰な対処になっていたような記憶があります。ついでにそのガイドさんは干されました。まぁそのガイドさんも更新ペースなど規約を守っていなかったので仕方ないと思いますが。
      # 眠気に任せて暴走中
      親コメント
      • Allaboutは酷かったですねぇ。あ、過去形じゃないですね。
        関係者とお見受けします。私の知ってる人かも知れませんね。お疲れ様です。

        スレ元の楽天は調べたことがありませんが、MyYahoo!のシステムも酷いもんでした。一々報告してられません。利用してるわけでもないし。

        tcupも昔はとても素早く対応してくれたのですが、今や報告しても完全に無視されたままです。

        掲示板の記事にタグが書き込めるとまずいということは、XSSの概念が知られるよりずっと以前から判っていたことですし、危険性は非常に高いです。

        ブラウザのバグをついてPCに感染するJavaScriptで記述可能なウイルスなどもありますし、また、掲示板そのものを媒介として、掲示板を渡り歩くウイルスというのも可能です。

        さらに、他サイト(1サイトとは限らない)の攻撃コードを、掲示板読者に密かに踏ませ、自分は手を汚さずに、対象サイトを停止させたり、時にはBackDoorを仕掛けさせたりすることも可能です。
        --
        office
        親コメント
    • by Anonymous Coward on 2003年06月25日 8時06分 (#345007)
      今年、就職活動していて気がつきましたが、
      毎日就職ナビにセッション乗っ取りの脆弱性があります。
      一応、指摘したんだけど。対策されないままです。
      説明会の予約、試験の予約を取り消せたり、
      個人情報を変更できちゃったり。

      他、ショッピングサイトによくある脆弱性も減らないねぇ。
      『https://hoghoge/product_list.cgi?cid=c001』

      こんな感じのURLでGET引数を偽装する事でSQL叩けるって現状
      query = "SELECT id, name FROM product WHERE category_id='" + cid + "'";
      こんな事やっているだけだから、
      cid=c001'; DELETE FROM product WHERE id='%
      のようにcidを偽装すれば商品情報全部吹っ飛ぶぞ。

      # 参照制約ついていたら、ある程度ガードされるけど。

      アクセス権限もきちんとしておらず、ビューも使わない。
      こんなんでいいのか日本のエンジニア!
      親コメント
      • by Anonymous Coward on 2003年06月25日 14時03分 (#345257)
        そことはちがうどこか で同じようなコードをあげた者です。
        そのときは、入ってきた値の、たとえば「'」を「\'」に変換するというような事をやっていたのですが…
        設計者が「そんなことやらないでください」とか言って、削除してしまいました…
        「その値はリストボックスですから、チェックする必要はないですよね?」とかって言われて。
        いえ、危ないって証拠をつきつけても、「そんなことをやる人はいません」ってつっぱねられまして…。
        # ついでにそこ、GETでした

        必ずしも、現場のプログラマが悪い場合だけではないということを、理解しておいていただけると嬉しいのです。

        # なぜ、そこまで抵抗したかというと、ほんの少しでも高速化したかったそうな…
        # そのわりには、サーバ増強に頑固に反対してたな。
        親コメント
        • Re:エンジニアは一般職? (スコア:2, おもしろおかしい)

          by Anonymous Coward on 2003年06月25日 15時05分 (#345297)
          >いえ、危ないって証拠をつきつけても、「そんなことをやる人はいません」ってつっぱねられまして…。

          似たような状況でいくら口で言っても理解しないので
          そいつの眼前で実際にDBぶっ飛ばして証明したら怒られました。

          # だったらやる前に止めろよ
          親コメント
        • 上にぶら下がっているコメントを読んで、感想。
          やっぱり想像力が足りない人は設計やっちゃいかんよ。

          # と妄想力最大!
          --
          Copyright (c) 2001-2014 Parsley, All rights reserved.
          親コメント
        • by Y.. (7829) on 2003年06月25日 15時12分 (#345304) 日記
          やっぱり 全体的に認識が甘いのでしょうかねぇ
          そこら辺の処理は暗黙のうちに要件と仕様に含まれていて削っちゃいけない処理だと思うのです
          ちなみにPOSTでもGETでも削っちゃダメ
          ユーザーが意図的に誤動作を引き起こせることには変わりないから

          でも、まぁ 高速化したいけど サーバー増強に反対する気持ちはわからんでもないかな
          サーバー増強はいろいろと面倒だし
          親コメント
          • 元ACです。

            >そこら辺の処理は暗黙のうちに要件と仕様に含まれていて

            要件は提案専門のプランナーが定めてまして、仕様…というか構造設計というかは、その技術者が定めておりました。
            つまるは、「そういう仕様です」
        • by Anonymous Coward
          それで、何割速くなりました?

          # 1%も速くなるとは思えないのでAC
          • by Anonymous Coward
            「そんなとこ削って何になるよ」って趣旨には同意。
            ただアンケートやユーザー登録など項目が多くなればそれだけチェックコストも高くなるはずです。

            しかし高速化を求めるなら他によりよい方法はいくらでもあると思います。ってゆーか誰のためのサービスで何を目的とした高速化なのか、担当者の発言はそれを見失っているように思えます。
          • by Anonymous Coward
            元ACです

            >それで、何割速くなりました?
            ># 1%も速くなるとは思えないのでAC

             手元では測定不能なほど小さな時間でした。
              ぇぇ。1%どころか0.01%ですらなく、測定不能なのです(泣
            • by Anonymous Coward
              あ、補足です。
              ボトルネックはDBとの接続でしたので、全体の実行時間は測定できる程度には長かったのですが…ということで。
      • 直接SQL投げれるってのはどーゆー考えに基いた仕様なの?
        そんな状況にしておく必然性が全く理解出来ないんだけど...。

        > ビューも使わない。

        ゴメンナサイ、金が無いのでMySQLです。
        • GET/POST/Cookie 等から受けた変数をそのまま展開して SQL を組んでいます。ちゃんと元コメントに例が載っていると思いますが
          WHERE id = '$id';
          とかそうですね。
          昔ボルチモアテクノロジーがやっちゃっていたと思います。セキュリティ製品売ってるのにねぇ。
          • by Anonymous Coward
            あ、スミマセン。斜め読みでした。
      • by Anonymous Coward
        ちなみに、退会した後で確かめるとブラウザクラッシャーになります。
        試して笑ったAC
    • 今、新規で加入したときに使えるかどうかはわかりませんが、
      少なくとも未だに知人のスペースで動いているGeoCitiesのゲストブックもボコボコ [geocities.co.jp]です。
      親コメント
    • by Anonymous Coward on 2003年06月25日 9時59分 (#345061)
      セキュアなCプログラミングやUNIXプログラミングを分っていたり
      SSLを正しく運用出来、またネットワーク設計に長けているような人でも、
      IEは嫌いだからとか、ECMAscriptを調べるの嫌だからとか、
      WebServerのアーキテクチャに興味が無かったり、等々が因して、
      穴を作ってしまう例も多いですよね。

      セキュリティ対策というのは危機管理なのだから、
      どれだけ広範に危機の可能性を想像し対策を検討出来るかどうかが
      要であるし、たとえ個人的に嫌いな技術でもそれが世に普及しているならば、
      きちんと抑えておかなきゃダメなんだよと、口うるさく言ってるわけなのだが・・。
      親コメント
    • by Anonymous Coward on 2003年06月26日 12時03分 (#345820)
      顧客「ユーザから指摘を受けて対策しないといけないのだが。」
      私「ちょっと、見てみますね。(うちのシステムじゃないんだけど)」
      私「...」
      私「製造元に対応させたらどうですか。」
      顧客「いろいろとあって。。。」
      私「保守の範囲じゃないですか?。」
      顧客「保守契約結んでいない。。。」
      私「問い合わせに対してだけなら、○○だけ対策すればいいですが、
      あれやら、これやらも直さないとダメですよ。」
      顧客「じゃあ、○○だけしてもらえます?」

      このあと、どうなったかは知らない。官庁関係なんだが。
      エンジニアの質の問題よりも発注側で作る人と、チェックする 人が同一としている点がまず問題。
      多くの場合、その後の保守の方が問題なのにその点を考慮して ない発注者側の問題の方がおおきい。
      何事も稟議・予算獲得といった縦割り杓子定規での範囲でしか 担当者が動けず、発想や思考が硬直している。
      # 多くの企業でもそうだが。

      意志決定の迅速さや、裁量をある程度あたえなければ、こういった 人間が増えていくんでしょうね。

      さて、問題の私の作業費用は、ベンチ等の什器をあっちやら こっちやらたどって、手元には一応来ました。
      # だから、そういう事やってるから、ダメなんだって。
      親コメント
    • >開発に当たるチーム/個人の基本性能が不足しているように思えます。
      特にセキュリティ意識が低いというか、
      セキュリティという単語の意味を知らないとか(ぉ

      車道のど真ん中をテクテク歩いているかのよう。
      田舎の道路ならまだしも、都会の主要道のような
      交通量の多いところでは、危険だっちゅうの

    • >開発に当たるチーム/個人の基本性能が不足している

      >開発を指揮管理する層や発注者、リスクヘッジすべき部署にいる人や経営者の大半の認識も「動いたらそれでええんとちゃうんかい」なレベルに止まっている

      ってことは、上も下も全然ダメダメってことですよね。
      何から手をつけりゃいいんでしょうか?
  • XSS 対策 (スコア:3, 参考になる)

    by j3259 (7093) on 2003年06月25日 15時20分 (#345309) ホームページ 日記
    一般のプログラマと管理者の認識不足が XSS を助長してるは、他の方も述べてるとおり。
    できることは、読み、また読ませて、どうすればいいのかを広めることでしょう。

    @IT: クロスサイトスクリプティング対策の基本 [atmarkit.co.jp]

    @IT: Webアプリケーションに潜むセキュリティホール 第2回 顧客データがすべて盗まれる?! [atmarkit.co.jp]

    CERT/CC: How To Remove Meta-characters From User-Supplied Data In CGI Scripts [cert.org]

    識者の方、他にも「これは読んどけ」ってのあったらお願いします。

  • by Anonymous Coward on 2003年06月25日 9時40分 (#345054)
    @niftyのホームページサービスで使える、
    メッセージボード [nifty.com]とnoteブック [nifty.com](日記CGI)は、
    使えるタグは制限されてたりして。

    メッセージボード [nifty.com]は〈I〉〈B〉〈FONT〉。
    noteブックは〈FONT〉〈B〉〈I〉〈A HREF...〉。
    とこんだけ。実はスラドより厳しかったり。

    ・・・だってのに、大元の方でそれやってたんだねぇ。
    なーにやってんだか・・・・・。

    #一@homepage利用者なAC。
    • by zumapon (9208) on 2003年06月25日 11時02分 (#345119)
      @nifty利用者ではないので確かめられませんが、
      FONTやAにJavaScriptやスタイルシートが指定できたりしませんよね?

      試してみて下さい・・・とは言いませんが(笑)。
      親コメント
      • by Anonymous Coward on 2003年06月25日 11時11分 (#345125)
        スラドの場合、
        <a href="javascript:..." だとか、
        <a onClick="..." はちゃんとカットされてます。

        でも、<a href="http://" onClick="barfoo" とかやると、なんかリンクが変・・。 

        実害は無さそうなのですが。
        親コメント
    • by KENN (3839) on 2003年06月25日 20時57分 (#345457) 日記

      メッセージボードのタグは、設定でOFF(=使用不可)にも出来るんだよなぁ…古いサービスの方がきちんと考えられているというのもなんだかなぁ。

      ま、この手の話は、サービス提供者(@nifty)ではなくて、ホントにプログラムを組んだ人/組織による、ってことなんでしょうけど。

      親コメント
  • by Anonymous Coward on 2003年06月25日 9時16分 (#345036)
    車道に寝そべっている若者を注意したりしたら、逆におっかけられて、ぼこぼこにされて重体なんて事件もありますから、注意の仕方にも注意しなくては。

    # 今回の話題とは違うんでしょうが、個人サイトに指摘する場合には注意を
    • by Anonymous Coward on 2003年06月25日 9時40分 (#345055)
      掲示板に住基の問題について書かれた時に、そのシステムを構築したベンダー?から掲示板運営者の契約しているISPのサポートに圧力がかかったなんて [rim.or.jp]もありましたね。
      親コメント
    • 注意すると、逆切れのパターンですね。

      ネットワークの場合、大抵はクレーマー扱いで無視されますが、紳士に対応するとことは逆に対策を教えてくださいってパターンありません?
    • 注意する先が顧客だったりすると、不正侵入っていわれて告発されたり
      指名停止されたりすることもあるので、気付いたら黙ってないと。

      #某人工衛星メーカーのように…。
    • by Anonymous Coward
      明らかに初心者と思われる人をつかまえて,わざわざ専門用語の連発を浴びせ掛ける人もよくいます.人間なんだからもう少し・・・

      #と思ってたら実は人間じゃなかったとか?
  • by Anonymous Coward on 2003年06月25日 12時29分 (#345179)
    > @niftyの掲示板ではHTMLのタグを自由に書けるようになっていたとのことで

    大手がやってたから問題になっただけで、こんなのいくらでもあるでしょ。
    無料掲示板のレンタルサービスとか。タグが使えるタイプの無料掲示板は大抵スクリプト通るよ。
    scriptタグだけ使えないようにしても、<meta http-equiv=Refresh>で飛ばせたり
    <a ... onMouseOver=...> とかできたり、<img src=.... >でブラクラ作れたりと、
    ほんとそんな掲示板ばっかり。 /.みたいな掲示板はむしろ少数でしょう。
    • by Anonymous Coward
      ちゃんとしたところに発注してそれなりのものを作らせるべきとか、#345128 [srad.jp]みたいに金払ってでも診断受けろとか、そういう話じゃないのかな?
      • by Anonymous Coward
        > ちゃんとしたところに発注してそれなりのものを作らせる

        某企業系列からの強力な推薦もあった @@@ 系の研究プロジェクトからスピンアウトした実績もある某社に@千万払って作らせたサイトはこれ以上無いくらいに惨憺たる様だったりします。外面は繕いましたが張りぼてです。IBM や NEC と一緒にあいみつとったところです。
        私は完成後に企画として雇われそのサイトと付き合いながらプログラムを覚えていったのですが、学べば学ぶほど目の前のブツと肩書きの立派な某社が物作りの資
      • by Anonymous Coward

        今回の件に限って言えばそんなに技術的に難しいものを要求しているわけではありませんし、きちんとテスト段階で「不正なタグを通さないかどうか」はチェックされてしかるべきだったでしょう。

        ただ何よりもまずかったのは、ずっと前から気づいていた人がいてきちんとNiftyに報告していた人(私もその一人です)がいたにもかかわら

  • by Anonymous Coward on 2003年06月25日 12時55分 (#345204)
    XSSの問題は、XSS対策していないサイトから
    悪意のあるサイトへのアクセスにより発生するため、
    スラドで使えるアンカータグも十分危険だと思います。
    要は使えるタグの問題ではなく、XSS対策の有無の問題ですよね?

    #毎回view-source使ってリンク先のソースをチェックしてから
    #アクセスしている人なんていますか?

    #悪意のあるサイトからバックして戻る際も気をつけないと...。
    • Re:安全なタグ? (スコア:1, 参考になる)

      by Anonymous Coward on 2003年06月25日 14時31分 (#345270)
      > XSSの問題は、XSS対策していないサイトから
      > 悪意のあるサイトへのアクセスにより発生するため、

      逆ですよ。悪意あるサイト(A)からXSS対策していないサイト(B)へのリンクを踏んだときに、(B)のサイトの情報漏えい等をひきおこす問題です。

      > スラドで使えるアンカータグも十分危険だと思います。

      リンク先に悪意があっても、スラドにXSS脆弱性がなければ、スラドのクッキーを盗まれることはないです。
      親コメント
    • by Anonymous Coward
      > 悪意のあるサイトへのアクセスにより発生するため

      リンク先を確認してクリックするのは自己責任。
      リンク張らなくても URL を書き込む事は出来るわけでね。

      Javascript 必須でアンカーをブラインドするサイトはどうかと思いますが、利用者にも必要な知識が求められてよいと思います。
      • >利用者にも必要な知識が求められてよいと思います。

        利用者は便利に使いたいから利用するだけであって、勉強したいとは思っていません。
        むしろ、どんなアホウがどんな滅茶苦茶やっても大丈夫なようにシステムを設計しないといけません。
        まぁ実際にはどんなに頑張ってもそれを上回る凄腕orアホウが出てきてし
        • > どんなアホウがどんな滅茶苦茶やっても大丈夫なようにシステムを設計

          無理でしょう。
          世の中の仕組みもそうでは。誰でも外歩く時も信号や歩道の意味程度はわきまえているハズです。

          単に URL を見て自分がどのサイトが提供するサービスを利用しようとしているのか、個人情報やカード番号を流す時にブラウザの
typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...