問題タブ [csrf-protection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
token - csrf トークンを生成して検証する方法
csrf トークンを生成して検証する最良の方法は何ですか。私が収集できたものから、「投稿」フォームに非表示のフォームフィールドがある場合でも、ハッカーは ajax を使用してそのフォームを取得し、csrf トークンを取得して、サイトに別のリクエストを送信してフォームを送信できます。
そして、送信されたヘッダーを確認する場合...ハッカーは、csrf トークンをサーバー側のスクリプトに送信するだけで、http ヘッダーをエミュレートできます。
では、csrf トークンを実際に生成して検証するにはどうすればよいでしょうか。
asp.net - CSRF 攻撃のシミュレーション
CSRF 攻撃をシミュレートして、Web サイトの脆弱性をチェックしたいと考えています。asp.net webapplication で試してみましたが、シミュレートできませんでした。CSRF攻撃をシミュレートするのを手伝ってください。test.aspx を使用してシミュレートしました。
他に何が欠けていますか?前もって感謝します。
php - この CSRF 保護はどのように機能しますか?
以下は、Facebook の認証ページから抜粋した例です。セッションにデータを追加し、JavaScript を使用して URL にリダイレクトするという考え方は何ですか? また、なぜuniqidのmd5ハッシュを行うのですか?
security - 副作用 (POST、DELETE、PUT) のあるリクエストのみの CSRF 保護?
私が理解している限り、クロスサイト リクエスト フォージェリ攻撃は、サーバー側の状態を変更するために「のみ」使用されていました。
推定:
- REST Web アプリケーションがあり、HTTP GET 要求がアプリケーションの永続的な状態を変更しない (副作用がない) ことを確信しています。
- セッション固有のキーを使用してリクエストを承認します
GET リクエストのセッション固有のキーを確認する必要がありますか?
php - CSRF 保護に関する質問
現在、フレームワーク (PHP) に CSRF 保護を実装中です。
しかし、私は疑問に思っています:
攻撃者が (非表示の) iframe にページを読み込み (トークンを取得)、JavaScript を使用して一部のデータを変更することはできませんか?
その後、フォームを送信しますか?
csrf - CSRF Java ライブラリ
J2EE アプリケーションを CSRF 攻撃から保護することに関して、どのようなライブラリがあるのか疑問に思っていました。
OWASP による CSRF ガードを使用しました。検索してみましたが、他の製品品質のライブラリは見つかりませんでした。他にもありますか?
余談ですが、私が構築しているアプリケーションは Grails フレームワークを使用しているため、Grail の CSRF プラグインがあれば、それも知りたいです。
php - クロスサイト リクエスト フォージェリ保護 (CSRF) にセッション トークンまたはノンスを使用していますか?
最近攻撃され、攻撃者がリモート フォームの送信を繰り返し送信したコードをいくつか継承しました。
ユーザーごとに作成するセッション認証トークンを使用して防止を実装しました(セッション ID ではありません)。この特定の攻撃がCSRFではないことはわかっていますが、これらの投稿からソリューションを適応させました(日付はありますが)。
- https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29
- http://tyleregeto.com/a-guide-to-nonce
- http://shiflett.org/articles/cross-site-request-forgeries
ただし、ここにはまだ脆弱性があると感じています。100%安全なものはないことは理解していますが、いくつか質問があります。
- 潜在的な攻撃者は、単純に有効なセッションを開始し、各リクエストに (Cookie を介して) セッション ID を含めることはできませんか?
- nonceはsession tokenよりも優れているようです。nonceを生成して追跡する最良の方法は何ですか?
- これらのソリューションが単一のウィンドウにすぎないといういくつかの点に出くわしました。誰かがこの点について詳しく説明できますか?
- これらのソリューションは常にセッションを必要としますか? または、これらのトークンはセッションなしで作成できますか? UPDATE、この特定のページは単なる 1 つのページ フォーム (ログインなし) です。そのため、トークンを生成するためだけにセッションを開始するのは過剰に思えます。
- セッションを使用しないこの特定の攻撃から保護するために実装できる、より単純なソリューション (CAPTCHA ではない) はありますか。
最終的には、より堅牢なソリューションを実装できるように、理解を深めたいと考えています。
php - 私たちは本当にCSRFから保護されていますか?
確認.php
firm_save.php
このような典型的なCSRF保護があるとしましょう。攻撃者がこのコードを使用してcsrfトークンをバイパスした場合はどうなりますか?
このことは私を悩ませ続けますが、私は怠惰すぎてランダムなサイトへの攻撃を試みることができません。これは可能ではありませんか?
サンプルコードは、phpでcsrfを防ぐために盗まれました
更新しました
誰かがトークンをあるプラットフォームから別のプラットフォームに、またはサーバー側からクライアント側に渡したい場合はどうなりますか?たとえば、FlashをPHPに変換しますが、csrfからどのように保護できますか?
php - codeigniter のフォームの一部ではないものの CSRF を防ぐ
/action/logout
Codeigniter には、フォーム ヘルパーを使用すると CSRF/XSRF を防ぐことができる非常に便利なセキュリティ クラスがあることは知っていますが、CI url 構造は多くの関数をほとんど直接呼び出すため、追加なしでCSRF を防ぐにはどうすればよいですか? SEのような確認フォームはありますか?
私が持っていたアイデア:
- ページ リファラーを確認する
- 要求された MIME タイプを確認します (可能ですか?) ( などの画像 CSRF の場合
<img src="http://example.com/action/logout" />
) - すべてのアクションをフォームの一部にする (望ましくない)
- ページ URL に CSRF トークンを含めます (醜く非常に悪いことです。ユーザーは、保存されているセッション ID やその他の個人情報に関係なく、URL をコピー アンド ペーストすることを好みます)。
/account/view/1/cyclone/
アクションを実行せず、せいぜい帯域幅を浪費するだけなので、保護する必要はありません。
確かに、ウェブサイトの使用を自動化するためにコードを書くのが好きな人がいることは知っています。私はそれを尊重します。そのため、コードを介して、または自動的にアクションを実行するための API を作成します。
csrf - CSRF防止への疑問
CSRF 防止について 1 つ疑問がありました。多くのサイトでは、セッションごとにランダムに生成される「トークン」を使用することで CSRF を防ぐことができると言っています。
今私の疑問は、次のような関数があるとします:
現在、この md5 ハッシュは、ソース コードを介して明らかにハッカーに表示されます。ハッカーは、このページを開いてトークンを生成し、ページを開いたままにして、セッションが破棄されないようにし、別のタブまたはその他のものを使用することができます。ハッキングを開始するには、
いいえ ?
または、トークンの私の考えは間違っていますか?
助けてくれてありがとう:D