CSRF, HTML Form Protocol Attack, Cross-protocol scripting attackについて
![超絶技巧CSRF / Shibuya.XSS techtalk #7](https://cdn-ak-scissors.b.st-hatena.com/image/square/71e92b56723f49f3424384acfa9fbccd37a93e87/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F847b0b26084440f6badaac2487f62cfc%2Fslide_0.jpg%3F6051191)
CSRF(Cross Site Request Forgeries)は数年前にその危険性が広く認知された攻撃手法です。Webページを見ただけで、普段自分が利用しているログインが必要なサイトに意図しないリクエストが送信されたりする問題です。 CSRFの動作原理 CSRFは攻撃用の情報を含んだWebページやEメールを利用して攻撃します。被害者が攻撃用のページを表示したり、URLをクリックすると、攻撃対象のWebサイトに利用者が意図していないリクエストを送信します。 図1 CSRF攻撃 CSRFによる不正なリクエストは被害者からリクエストなので、ログインが必要なサイトであっても既にユーザがログイン済みの場合、正規のユーザからのリクエストとして攻撃対象のWebサーバはリクエストを受け付けてしまいます。 ログインが必要ない公開サイトであっても、問い合わせフォームから大量の不正な情報が登録される、など
いろいろと原則論はあるんですが。昨今のアプリケーションは複雑化し、扱う情報はよりセンシティブになり、そしてより幅広く使われるようになっています。よって「安全な」アプリケーションを作るために必要な知識はますます増える傾向にあります。 よく分かってない人は以下のことにとりあえず気をつけましょう 1. なるべく自分で作らない これは最も重要なことです。検索する、他人に聞く、自分で考えない。これは重要です。大抵の問題は他人が作ってくれた解決策を適用できます。 例えばセキュアな問合せフォームを作ることにしましょう。気をつけるべきことは以下のことぐらいでしょうか。 送信内容の確認画面を表示する場合、ユーザーの入力した値は適切にエスケープするように 送信内容をアプリケーションの DB に格納する場合には SQL インジェクションを防がなければならないので、プリペアドステートメントを用いる CSRF 対策
WordPress 4.0.1ではXSSの脆弱性などが修正された。悪用された場合、Webサイトをハッキングされたり、クロスサイトリクエストフォージェリ(CSRF)攻撃を仕掛けられたりする恐れがある。 ブログ作成ソフトの更新版となる「WordPress 4.0.1」が11月20日に公開された。クロスサイトスクリプティング(XSS)などの深刻な脆弱性が修正されており、ユーザーに対して自分のWebサイトを直ちに更新するよう呼び掛けている。 WordPressのブログによると、WordPress 4.0.1では3件のXSSの脆弱性を含め、計8件の脆弱性を修正した。悪用された場合、Webサイトをハッキングされたり、クロスサイトリクエストフォージェリ(CSRF)攻撃を仕掛けられたりする恐れがある。脆弱性は3.9.2までのバージョンに存在する。 更新版は、自動更新を有効にしていれば自動的に配信される。脆
※ src: 画像の場所を指定する属性。相対パスではなくURLで書けば、他のドメインにある画像を表示することも可能。つまりURLに対してGETリクエストを行う(閲覧者に行わせる)お手軽な手段とも言え、これを用いてなんらかの攻撃が行われることもしばしば。 まとめ このように、imgタグなどによって、閲覧者のブラウザからどこかのURLへ任意のリクエストを「送らせる」ことは簡単にできてしまいます。しかも、それで発生するリクエストは、閲覧者自身がリンクをクリックしたときとなんら変わりはありません。では、これを攻撃として用いられた場合(つまりCSRF)、Webプログラム側ではどのように防げばよいのでしょう。 きっとまっさきに思いつくのは、「POSTリクエストを使うようにする」、あるいは「リファラヘッダ(リンク元が記載されているヘッダ行)のチェックを行う」などでしょうか。しかしそれだけでは不
JSONPの動作原理 前回はAjaxに存在するセキュリティモデルであるSame-Originポリシーを紹介し、そのSame-Originポリシーを迂回する方法とセキュリティについて見てきました。また、回避する方法の1つめとしてリバースProxyを用いた方法を紹介しました。リバースProxyを用いた方法ではセキュリティ的な問題点もありましたが、そもそもProxyサーバを用意しなければならないため、この方法は手軽に使うことはできませんでした。 そこで考え出されたのがJSONP(JavaScript Object Notation with Padding)という方法です。 それではまず簡単にJSONPについて説明します。 Ajaxで使われるXMLHttpRequestオブジェクトには前回説明したとおりSame-Originポリシーがありクロスドメインアクセスはできません。一方、SCRIPTタグ
CSRF 脆弱性対策には攻撃者の知り得ない秘密情報をリクエストに対して要求すればよく、そのような用途としてはセッション ID がお手軽でいいよねという時代があったかと思います。 いや、もちろん、 CSRF 対策の文脈だけで言えば今も昔も間違いというわけではありません。セッション ID が秘密情報であるのは Web アプリケーションにおいて当然の前提ですので、 CSRF 対策としてリクエストに求めるべきパラメータとしての条件はたしかに満たしています。 たとえば 『安全なウェブサイトの作り方』 改訂第6版では以下のように解説されています。 6-(i)-a. (中略) その「hidden パラメータ」に秘密情報が挿入されるよう、前のページを自動生成して、実行ページではその値が正しい場合のみ処理を実行する。 (中略) この秘密情報は、セッション管理に使用しているセッション ID を用いる方法の他、
ある日、大手SNS(Social Networking Site)のmixiの日記にこのような書き込みがあった。それも1人だけでなく、同日に数多くのユーザーの日記に同じ文面が掲載されていた。 これは、単にこのような文章がはやり、ユーザー自身が意図して掲載したのではなく、ある仕掛けによってユーザー自身が気付かないうちに引き起こされた現象なのである。その仕掛けとは、CSRF(Cross-Site Request Forgeries)と呼ばれる攻撃手法の一種だ。 編集部注: 現在、「はまちちゃん」トラップは、mixi運営者により対策されています。上記のサンプルは、mixi風に再構成したものです。 本稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。また、本稿を利用した行為による問題に関しましては、筆者およびアイティメディア株式会社は一切責任を負いかねます。ご了承ください
12月10日にPC版がスタートしたサイバーエージェントのミニブログサービス「Amebaなう」で、あるURLをクリックすると、「こんにちは こんにちは!!」というフレーズとクリックしたURL文字列が自動で投稿され、「はまちや2」さんのアカウントを自動でフォローしてしまうという現象が広がった。 URLをクリックしたユーザーが意図しない機能を実行させられるWebアプリの脆弱性の一種・クロスサイトリクエストフォージェリ(CSRF)を突いたもの。同社は10日夜、URLをクリックしないようユーザーに告知。誤ってクリックした場合は投稿を削除し、はまちや2さんのフォローを外すよう呼び掛けた。11日朝までに脆弱性も修正したという。 mixiでも2005年、あるURLをクリックすると「ぼくはまちちゃん!」という日記が勝手に投稿されるという、CSRFを利用したスパムが流通したことがあった。コミュニティーサイト構
先日もtwitter上の犯行予告により20歳の青年が逮捕されたようですが、なりすましによる誤認逮捕ではなかったのか気になるところです。そこで、twitterが、なりすまし投稿をどの程度対策しているかを調べてみることにしました。twitterの安全性を確認することが目的というよりも、twitterが実施している対策を知ることにより、皆様のWebサイトを安全にする参考にしていただければと思います。 今回調べた「なりすまし投稿」の手法は下記の通りです。 クロスサイト・リクエスト・フォージェリ(CSRF) クロスサイトスクリプティング(XSS) HTTPヘッダーインジェクション クリックジャッキング DNSリバインディング クッキーモンスターバグ このうち、上の5つの解説は拙稿「“誤認逮捕”を防ぐWebセキュリティ強化術」、最後のクッキーモンスターバグについては、過去のエントリ「クッキーモンスター
「Webアプリにおける11の脆弱性の常識と対策」という記事を久しぶりに読みました。出た当事も思いましたが、基本的な誤りが多く、読者が誤解しそうです。このため、編集部から頼まれたわけではありませんが、「勝手に査読」してみようと思います。 細かい点に突っ込んでいくとキリがないので、大きな問題のみ指摘したいと思います。 ※2013年2月25日追記 このエントリに対して、編集部が元記事を修正くださいました。徳丸も修正に協力いたしましたが、十分正確な内容ではないことをお含みおきください。 ※追記終わり 同記事の想定読者は誰か査読にあたり、この記事の想定読者を明確にしておいた方がよいですね。記事の冒頭には、連載の説明があります。 本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用する
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
ブログ(iiyu.asablo.jpの検索) ホットコーナー内の検索 でもASAHIネット(asahi-net.or.jp)全体の検索です。 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。 例 中村(show) ki4s-nkmr ウェブ全体の検索 ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。 --- 橋下徹市長の大阪市のウェブで「大量殺人をする」と投稿したという容疑で、 アニメ演出家が逮捕された件。 たとえば、 http://mainichi.jp/select/news/20120827k0000m040038000c.html 殺人予告:大阪市HPに書き込んだ疑いで42歳演出家逮捕 http://
こんにちはこんにちは!! 今日はCSRF脆弱性のちょっとした話です! このCSRFってなにかっていうと、 サーバーへのリクエストを『誰かに勝手に送らせる』っていうセキュリティがらみの攻撃手法のひとつ。 わかりやすい例だと、 HTMLの画像タグを以下のようにしたページを誰かに教える。 <img src="何々SNSの足跡.php" width="1" height="1"> そうすると、そのページを「見た人」が何々SNSの足跡.phpにアクセスしたことになる。 ※詳しくはこちらのマンガで → [はまちちゃんのセキュリティ講座]ここがキミの脆弱なところ…! : 第2回 しーさーふって何ですか? CSRFってこんな風に、 「ログイン済みの人に何か操作させる」ってイメージが強くて、 対策する側もまた、「既にログイン済みの人を守る」ような考えが強いんだよね。 例えば、勝手に日記に投稿させないように対
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く