• ベストアンサー
  • すぐに回答を!

webアプリケーションの脆弱性について

最近CSRF攻撃についていろいろ勉強しています。 例として、mixiでの「ぼくはまちちゃん事件」というのが出てきましたが いまいちこの手法の仕組みが理解できません。 誰かの日記に一度、踏みやすそうなリンクを張っておいて、リンク先のページに 埋め込まれたタイトル情報と日記の中身の情報を含んだフォームを勝手にサブミットしてしまう。 という事かな。と思ったのですが、mixiの場合って「以下の内容で書き込んでもよろしいですか?」みたいなページとかが表示されるかと思います。 そういったページというのはどうなっていたのでしょうか。 というか、攻撃者が用意したダミーのリンク内ではどのようなページが表示されていたのでしょうか。 ご存知の方がいらっしゃいましたらご教授していただけないでしょうか。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数14308
  • ありがとう数12

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

こんにちは! 「フォームを勝手にサブミットしてしまう」 その認識でだいたいあってます!たぶん! そのmixiの例だと、 入力画面 → (送信1) → 確認画面 → (送信2) → 完了 ってなるわけですが、 いくら確認画面が間にあったところで、 (送信2)の部分を「勝手にサブミット」しちゃえばいいわけです。 ※ただし今のmixiや、ちゃんとしたwebサービスは送信時にトークンをつけるとかCSRF対策してるのでできません 実際の攻撃の例としては、mixiやtwitterなどの多くの人が繋がっている投稿型サイトで、 「こんにちはこんにちは!! このリンク先すごいよ! http://~」 のような書き込みをしておき、 そのリンク先でformやJavaScript等で「自動的に勝手にサブミット」してしまいます。 画面には何も表示されなくてもかまいません。 そしてさらに勝手に書き込む内容を 「こんにちはこんにちは!! このリンク先すごいよ! http://~」 のようにしてしまうことで、まるでワーム型ウイルスのように、 友達の繋がりを通じて連鎖的に広がります。 他には、GETリクエストで何らかの処理をされてしまうwebアプリに対して imgタグやiframeなどで、誰かに「勝手にリクエストを送信させてしまう」 なんてのもCSRFの事例のひとつです。 こわいですね。 このあたりのことを漫画で解説しているサイトもあるので、 いちどご覧になってみてはいかがでしょうか! http://gihyo.jp/dev/serial/01/hamachiya2/0001 絵がとってもかわいいですよ! あ、あと動画もありました。 http://www.youtube.com/watch?v=TcXO6v8BS1g

共感・感謝の気持ちを伝えよう!

質問者からのお礼

まさか・・・ぼくはまちちゃん事件の仕掛け人ご本人の方ですか!?ww とてもわかりやすい回答有難うございました。 絵、動画共に見やすくて理解が深まりました!

関連するQ&A

  • MSの"脆弱性"情報にある「一般公開」について

    例として挙げた下記のサイトに「Kerberos のセキュリティ機能のバイパスの脆弱性 – CVE-2016-3237」という記載があり、「一般公開」が「なし」となっています。この「一般公開」が「なし」とはどういう意味かご教示を頂けますでしょうか。 「一般公開」が「なし」とは脆弱性をつくような攻撃手法を一般公開していないため、「なし」になっていると思っていますが、違いますでしょうか。 「悪用」が「なし」は、攻撃者が脆弱性をついて悪用した報告はないため、「なし」となっているのはわかるのですが、「一般公開」についてはよく理解できていません。 --------------------------------------------------------------------------------------- マイクロソフト セキュリティ情報 MS16-101 - 重要 Windows 認証方式用のセキュリティ更新プログラム (3178465) https://technet.microsoft.com/ja-jp/library/security/ms16-101.aspx ---------------------------------------------------------------------------------------

  • セッション脆弱性を克服するには?

    またお世話になります。 いつも的確な回答を頂いて助かっていますm( __ __ )m 【仕様】 ・ ログイン認証ページのみ SSL で、それ以外のページは 【非SSL】 です。 ・ ログイン認証時にセッションIDをクライアントのクッキーに保存し、サーバー側では MySQL にセッションIDとログイン情報を保持します。 ・ 認証以降のページでは、クライアントから送信されてくるクッキーセッションIDを元に MySQL のデータと照合し、ユーザーのログイン状態を維持します。 ・ 言語は PHP を使っています。 よくあるセッション管理サイトだと思います。 そして、セッションIDさえ盗まれなければセキュリティとして問題無いと考えています。逆に言うとセッションIDが盗まれると極端に弱いと思います。 【私の考える脆弱性】 ・ ログインページ以外が 非SSL ということから、セッションIDの盗聴が可能かと思います。 ・ 普通に使用していても悪意あるサーバーを経由したらトレースされて簡単にセッションIDが抜かれると思います。 ・ ログインした状態のユーザーが怪しいリンクをクリックしてクロスサイト攻撃でクッキーを抜かれる可能性もあります。 質問は、なぜ、こういった多くの問題が予測できるのに この「教えて!Goo」の認証もログインページはSSLですが、それ以外は非SSLです。といった具合に多くのサイトがこのような認証方式を取っているのか? もう一つ質問は、私は先に上げたような脆弱性を防ぐ方法がわからないのですが、何か画期的な方法でセッションハイジャックなどを防御しているのでしょうか? もしくはセッションIDが盗まれてもそのセッションIDでのアクセスを無毒化するような方法があるのでしょうか? 以上です。 よろしくお願いします。

  • location.href="http://www.aaa.aa.aa"でリンクされない!?

    ラジオボタンを選択して、ラジオボタンが選択物によって最後にサブミットボタンを押した時に違うリンク先へ飛ばす方法をいろいろと考えていました。 考えた末にジャバスクリプトでリンク先を違う方法に変える事にしました。 ステップ1として サブミットが押された時点でリンクさせる方法を試みましたが同じページを読み込んでしまいます。 サンプルは下記の通りです。 location.href="http://www.aaa.aa.aa" どうかうまくいく方法を教えて頂けないでしょうか? お願いします。

  • WEBの作り

    (1). スターバックスのページなのですが、 上のCoffeeなどにカーソルをあわせると、下に大きなメニューが表示されるのですが、 どういう作りになっているのでしょうか、どこかにサンプルのようなものありますか? 単純に下にメニュー項目をならべるようなものは見つかったのですが・・・・・ http://www.starbucks.com/ (2). このスターバックスのページをパソコンでCoffeeをクリックするリンク先にとぶのですが、 ipadなどタブレットでみるとCoffeeをクリックしてもリンク先に飛ばず、 カーソルをあわせた時のメニューが表示されるような仕組みになっているのですが、この仕組みわかる方いましたら教えてください。

    • ベストアンサー
    • CSS
  • mixi の日記で、外部へのリンクについて教えて

    mixi の日記で、外部へのリンクで教えて下さい。 mixiで日記を書いています。 その日記の本文中に、外部のURL を 貼り付けたとします。 (例えば http://www.●●●●.com など) それを、自分、あるいは、他のmixi会員が携帯から見たとします。 すると、そのアドレスは見えるのですが、それがリンクになってないので、そのアドレスをクリックして外部リンクに飛べないのです。 そのアドレスをコピーペーストして、携帯のブラウザからアクセスすればその、リンク先を見る事は出来ますが、いちいちコピーペーストをしてからアクセスしなければなりませんので大変面倒ですし、その外部リンク先を見てもらいにくいです。 どうやったら、そのミクシィ日記本文中に貼り付けた URLをリンクに出来て、そのままクリックで外部リンクサイトに飛べるようになるでしょうか? 基本的に無理なのでしょうか? それともなにか裏技とかあるのでしょうか? よろしくお願いします。

  • SSIのようにして、CGIをページ内に表示させる

     通常のHTMLページにCGIを読み込むにはSSIなどの方法がありますが、  SSIを使っているページは左、中央、右といったように分かれていて、呼び出した日記を中央に表示させるとします。これだとトップページはSSIで問題なく表示出来ますが、その表示された日記にあるリンク(先月の日記、とか)をクリックして先月のページを表示させると、SSIの仕組みからして当然、最初に読み込んだ際のレイアウトは無視され、左、右のカラムは消えて、ただの日記だけのページになってしまいます。  iframeなど、別の表示方法もありますが、iframeなどのフレームはSEOの観点から避けたいと思っています。  SSIでは無理だとすると、このようなリンク先まで最初の読み込みレイアウトを維持して表示する方法はあるでしょうか。

    • ベストアンサー
    • HTML
  • ステータスバーを消したい(ビルダー)

    ホームページビルダー7を使ってHPを作っていますが 最近掲示板に酷い荒らしが来たのでダミーページを作って 文字も下線も消して掲示板にリンクしたのですが、 マウスポインタを画面に走らせるとステータスバーに リンク先のURLが表示されてしまいます。 何とか消す方法は無いでしょうか?。

  • SEOの初歩的質問で恐縮です

    SEO対策初心者です。 被リンクについてですが、たとえばmixiや教えてgooなどからの被リンクは有効なのでしょうか? たとえば、mixiの日記とか、某大手掲示板などにサイトのURLを書きこんだ場合、被リンクとみなされるのでしょうか? このあたりの仕組みについてお教えいただけると幸いです。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • WEB リンク先 右クリックで新しいウィンドウで開く 表示せず 何故?

    こんにちは、 あるサイトで、ハイパーリンクを設定している文字をそのままクリックするとリンク先ページが表示されるが、 右クリックして、「新しいウィンドウで開く」で開こうとすると「ページを表示できません。」となります。 これってどういうことなんでしょうか? 仕組みが知りたいと思い質問しました。 何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • HPで浮き出るウィンドウの作り方

    HPなどでリンクボタンを押した時に、 表示させるページを別ウィンドウで表示させる方法を知りたいのですが、 やりたいことは、 リンクボタンを押す→見ているサイトに暗く半透明な影がかかる →サイトに重なって小ウィンドウが出現→リンク内容が表示される という物で・・・説明が下手ですみません。 mixiのタイムライン上や日記一覧などからリンクをクリックすると 日記が上記のように表示されるので、これがまさに理想の形なのですが mixiを見られない方用のサンプルサイトが見つかりませんでした 当方はhtmlを一通り理解しているがjavascriptは全くわかりません cssも少ししかわかりませんし、htmlもマニアックなものはわからない・・・ という申し訳ないレベルですが、 なるべくわかりやすく教えていただけたら幸いです

    • ベストアンサー
    • CSS