問題タブ [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.

0 投票する
1 に答える
18559 参照

token - csrf トークンを生成して検証する方法

csrf トークンを生成して検証する最良の方法は何ですか。私が収集できたものから、「投稿」フォームに非表示のフォームフィールドがある場合でも、ハッカーは ajax を使用してそのフォームを取得し、csrf トークンを取得して、サイトに別のリクエストを送信してフォームを送信できます。

そして、送信されたヘッダーを確認する場合...ハッカーは、csrf トークンをサーバー側のスクリプトに送信するだけで、http ヘッダーをエミュレートできます。

では、csrf トークンを実際に生成して検証するにはどうすればよいでしょうか。

0 投票する
1 に答える
3945 参照

asp.net - CSRF 攻撃のシミュレーション

CSRF 攻撃をシミュレートして、Web サイトの脆弱性をチェックしたいと考えています。asp.net webapplication で試してみましたが、シミュレートできませんでした。CSRF攻撃をシミュレートするのを手伝ってください。test.aspx を使用してシミュレートしました。

他に何が欠けていますか?前もって感謝します。

0 投票する
3 に答える
3478 参照

php - この CSRF 保護はどのように機能しますか?

以下は、Facebook の認証ページから抜粋した例です。セッションにデータを追加し、JavaScript を使用して URL にリダイレクトするという考え方は何ですか? また、なぜuniqidのmd5ハッシュを行うのですか?

0 投票する
1 に答える
418 参照

security - 副作用 (POST、DELETE、PUT) のあるリクエストのみの CSRF 保護?

私が理解している限り、クロスサイト リクエスト フォージェリ攻撃は、サーバー側の状態を変更するために「のみ」使用されていました。

推定:

  • REST Web アプリケーションがあり、HTTP GET 要求がアプリケーションの永続的な状態を変更しない (副作用がない) ことを確信しています。
  • セッション固有のキーを使用してリクエストを承認します

GET リクエストのセッション固有のキーを確認する必要がありますか?

0 投票する
1 に答える
647 参照

php - CSRF 保護に関する質問

現在、フレームワーク (PHP) に CSRF 保護を実装中です。

しかし、私は疑問に思っています:

攻撃者が (非表示の) iframe にページを読み込み (トークンを取得)、JavaScript を使用して一部のデータを変更することはできませんか?

その後、フォームを送信しますか?

0 投票する
1 に答える
1321 参照

csrf - CSRF Java ライブラリ

J2EE アプリケーションを CSRF 攻撃から保護することに関して、どのようなライブラリがあるのか​​疑問に思っていました。

OWASP による CSRF ガードを使用しました。検索してみましたが、他の製品品質のライブラリは見つかりませんでした。他にもありますか?

余談ですが、私が構築しているアプリケーションは Grails フレームワークを使用しているため、Grail の CSRF プラグインがあれば、それも知りたいです。

0 投票する
1 に答える
5248 参照

php - クロスサイト リクエスト フォージェリ保護 (CSRF) にセッション トークンまたはノンスを使用していますか?

最近攻撃され、攻撃者がリモート フォームの送信を繰り返し送信したコードをいくつか継承しました。

ユーザーごとに作成するセッション認証トークンを使用して防止を実装しました(セッション ID ではありません)。この特定の攻撃がCSRFではないことはわかっていますが、これらの投稿からソリューションを適応させました(日付はありますが)。

ただし、ここにはまだ脆弱性があると感じています。100%安全なものはないことは理解していますが、いくつか質問があります。

  • 潜在的な攻撃者は、単純に有効なセッションを開始し、各リクエストに (Cookie を介して) セッション ID を含めることはできませんか?
  • nonceはsession tokenよりも優れているようです。nonceを生成して追跡する最良の方法は何ですか?
  • これらのソリューションが単一のウィンドウにすぎないといういくつかの点に出くわしました。誰かがこの点について詳しく説明できますか?
  • これらのソリューションは常にセッションを必要としますか? または、これらのトークンはセッションなしで作成できますか? UPDATE、この特定のページは単なる 1 つのページ フォーム (ログインなし) です。そのため、トークンを生成するためだけにセッションを開始するのは過剰に思えます。
  • セッションを使用しないこの特定の攻撃から保護するために実装できる、より単純なソリューション (CAPTCHA ではない) はありますか。

最終的には、より堅牢なソリューションを実装できるように、理解を深めたいと考えています。

0 投票する
2 に答える
1658 参照

php - 私たちは本当にCSRFから保護されていますか?

確認.php

firm_save.php

このような典型的なCSRF保護があるとしましょう。攻撃者がこのコードを使用してcsrfトークンをバイパスした場合はどうなりますか?

このことは私を悩ませ続けますが、私は怠惰すぎてランダムなサイトへの攻撃を試みることができません。これは可能ではありませんか?

サンプルコードは、phpでcsrfを防ぐために盗まれました

更新しました

誰かがトークンをあるプラットフォームから別のプラットフォームに、またはサーバー側からクライアント側に渡したい場合はどうなりますか?たとえば、FlashをPHPに変換しますが、csrfからどのように保護できますか?

0 投票する
1 に答える
431 参照

php - codeigniter のフォームの一部ではないものの CSRF を防ぐ

/action/logoutCodeigniter には、フォーム ヘルパーを使用すると CSRF/XSRF を防ぐことができる非常に便利なセキュリティ クラスがあることは知っていますが、CI url 構造は多くの関数をほとんど直接呼び出すため、追加なしでCSRF を防ぐにはどうすればよいですか? SEのような確認フォームはありますか?

私が持っていたアイデア:

  • ページ リファラーを確認する
  • 要求された MIME タイプを確認します (可能ですか?) ( などの画像 CSRF の場合<img src="http://example.com/action/logout" />)
  • すべてのアクションをフォームの一部にする (望ましくない)
  • ページ URL に CSRF トークンを含めます (醜く非常に悪いことです。ユーザーは、保存されているセッション ID やその他の個人情報に関係なく、URL をコピー アンド ペーストすることを好みます)。

/account/view/1/cyclone/アクションを実行せず、せいぜい帯域幅を浪費するだけなので、保護する必要はありません。

確かに、ウェブサイトの使用を自動化するためにコードを書くのが好きな人がいることは知っています。私はそれを尊重します。そのため、コードを介して、または自動的にアクションを実行するための API を作成します。

0 投票する
4 に答える
684 参照

csrf - CSRF防止への疑問

CSRF 防止について 1 つ疑問がありました。多くのサイトでは、セッションごとにランダムに生成される「トークン」を使用することで CSRF を防ぐことができると言っています。

今私の疑問は、次のような関数があるとします:

現在、この md5 ハッシュは、ソース コードを介して明らかにハッカーに表示されます。ハッカーは、このページを開いてトークンを生成し、ページを開いたままにして、セッションが破棄されないようにし、別のタブまたはその他のものを使用することができます。ハッキングを開始するには、

いいえ ?

または、トークンの私の考えは間違っていますか?

助けてくれてありがとう:D