preventing CSRFについてかなり多く書かれています。csrfの保護
しかし、私はそれを理解できません:ターゲットページフォームのcsrfトークンを解析して偽造要求を送信するだけの理由は何ですか?
preventing CSRFについてかなり多く書かれています。csrfの保護
しかし、私はそれを理解できません:ターゲットページフォームのcsrfトークンを解析して偽造要求を送信するだけの理由は何ですか?
CSRFトークンの値が事前にわかっていないためです。
スクリプトコードをターゲットページ(XSS)に挿入することができれば、それを行うことができます。そうすれば、CSRF防止は役に立たなくなります。
CSRFトークンは、エンドユーザーが受け取るページに格納する必要があります(または彼はそれも知らないでしょう)。
実際、セキュリティ評価では、XSSは通常、自身の被害の可能性ではなく、そのような攻撃での使用について評価します。
CSRFトークンは、毎回すべてのユーザーとすべての要求に対して完全に異なるトークンである必要があります。そのため、攻撃者からは推測できません。
phpの場合、.netとjavascriptはOWASP CSRFGuard Projectで見ています - もしあなたがjavaとjsf 2.xで作業しているのなら、既にCSRFに対して保存しています(POSTを使ってGETしない限り - JSF 2.2を待つ)JSFなしで作業すれば、OWASP ESAPIのHTTPUtillities Interfaceも非常に役に立ちます!
CSRF攻撃はブラインドです。彼らはセッションライディングを行い、攻撃者はXSSの脆弱性を利用してトークンを抽出できない限り、直接的なコントロールはありません。通常、セッションワイドトークンを使用できます。要求ごとに回転トークンが過剰なことがあり、誤ったアラームが発生する可能性があります。私はマスターセッショントークンでリソースごとにトークンを使用することを好みます。