CSRFに関するTomato-360のブックマーク (5)
-
Leaner Technologies の @corocn です。 本記事では RubyonRails の基本的な CSRF 対策の方法である "Synchronizer Token Pattern" を Rails API + SPA の構成でどう実装するかについてお伝えします。 CSRF 対策について解説した記事は多くありますが、最近直面したユースケースに沿った記事がなかったので、改めて整理しておくと誰かの役にたつかなと思ったので書きました。 前提 次のようなシンプルな構成のシステムを考えます。 ログインして操作するシステム Cookie と SessionIDでセッション管理をするステートフルな API SPA からのリクエストは axios を利用 Rails の強みを生かし、小さく立ち上げたいときにありがちな構成です。Cookie を利用するため、CSRF 対策が必要にな
-
こんにちは。GoでWeb開発していますか?私はしていません。Goに限らず、既成のWebアプリケーションフレームワークを使わずに自前でWebフォームを作る場合、なにも考えずに書くと CSRF (Cross Site Request Forgery) 脆弱性を作りこみ、不正なユーザー操作を実行されてしまう可能性があります。 ダメな例 例えば以下のGoコードで作成されるフォームにはCSRF脆弱性があります。SubmitSignupForm ハンドラは、受け取ったリクエストが自分のサイト上のフォームからサブミットされたものかチェックしていないので、攻撃者が他のサイト上のフォームを使い、第三者のユーザーのブラウザで任意の操作を実行させることができてしまいます。 func main() { r := mux.NewRouter() r.HandleFunc("/signup", ShowSignupF
-
前文 時々、このWeb APIってCSRF対策出来てますか?とか そのCSRF対策ってなんで安全なんですか?とか、そういう質問を友人・知人・同僚から受けます。 その質問に対して、都度回答をしているのですが、改めて記事としてまとめようかな、というのがこの記事です。 もし私の認識に穴・誤りがありましたら、ぜひ指摘お願いします。 前提事項 この記事中では、CSRF対策のみにフォーカスします。 そのため、以下はスコープ外です(無駄な議論回避のための前提事項です)。 セキュリティに銀の弾丸などないので、複数の脆弱性対策を組み合わせて、安全に行きましょう。 XSS脆弱性により、CSRFが可能である ブラウザの脆弱性により、CSRFが可能である XXXの脆弱性により、CSRFが可能である 前提知識 CSRF対策について語る上で必要な知識はいくつかありますが、この記事では以下の知識を前提に扱います。 ご存
-
はじめに 2017年、ついにOWASP Top10が更新されました。筆者が一番印象的だったのは﹁Top10にCSRFが入っていない﹂ということです。 なぜCSRFが圏外になってしまったのかは4ページのリリースノートで軽く説明されています。﹁retired, but not forgotten﹂つまり﹁引退したね...でも君の事は忘れてないよ﹂という感じでしょうか。全米がCSRFのために泣きそうです。 それはさておき、具体的には﹁as many frameworks include CSRF defenses, itwas found in only 5% of applications.﹂という部分が引退理由だと思われます。﹁多くのフレームワークがCSRF対策を備えた結果、5%のアプリケーションにしかCSRFは見つからなかった﹂というのが引退の理由です。 この理由を読むと、﹁というこ
-
teratailに以下のような投稿がありました。 PHPでメールフォームを作成したので、脆弱性がないかアドバイスいただけないでしょうか。 エンジニアでもなければ、PHPもろくに書けない雑魚ですが、﹁php メールフォーム 作り方﹂でググって表示されるサイトを見ると、﹁んんんんん???﹂と思うところがあります。 これらを参考にしたり、コピペする方は、記述されているコードの良し悪しは判断できないかと思います。 そのような方々が参考にできるメールフォームを作りたいという思いで、調べて作りました。 周りに書いたコードを確認してもらえる人もいないので、皆様からのアドバイスがほしいです((_ _ (´ω` )ペコ ︻PHP︼作成したメールフォームに脆弱性がないか、アドバイスもらえないでしょうかより引用 どれどれ…と確認すると、トークンのチェックが入っているにも関わらずクロスサイト・リクエストフォージ
-
1