2016-06-28 9 views
0

私たちはPythonやRubyのような別のスタックに移動することを検討しているASP.Net Webアプリケーションを用意しています。アプリケーション全体を置き換えることは望ましくなく、公開されているREST APIを部分的に置き換えることを検討しています。私たちの考えは、既存の.NETアプリケーションの側面で新しいWebアプリケーションを実行し、実装するようにいくつかのAjaxリクエストをルーティングすることです。クロスプラットフォームCSRF

私の質問は:.Net側とPython/Ruby/Nodeスタックの両方でリクエストを検証するために使用できるクロスプラットフォームのCSRFライブラリはありますか?

APIエンドポイントが新しいスタックに実装されると理想的には、RESTエンドポイントが新しいURLを指すようにします。

+1

[Double Submit Cookies](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Double_Submit_Cookie) - 両側のコードかなり前向きで相互運用可能でなければなりません。 – SilverlightFox

+0

それは私が欲しいのは間違いない!ありがとうございました! – Jonathan

+0

あなたの問題を解決したので、答えとして追加されました! – SilverlightFox

答えて

1

Double Submit Cookiesなどの簡単な手法を使用して独自のコードを実装することができます。両方のコードはかなり単純で相互運用性が高いはずです。

ダブル送信クッキーは、クッキーと隠れたフォームフィールドの両方としてランダムな値(うまくいけば、CSPRNGによって生成されるか、または別の予測不可能なメソッドを使用して生成される)を設定することによって機能します。

攻撃者はSame Origin Policyのために隠しフォームフィールドからこの値を取得できないため、隠しフォームフィールドと同じCookie値があるサイト間要求を送信する方法はありません。 Cookieに値を格納すると、サーバー側に何かを格納する必要がなくなります。

これは簡単なチェックであり、両方のフレームワークで簡単に実現できる(疑似コード:if cookie != hidden_field then <reject>)ので、実装するのが簡単です。

関連する問題