/ / Laravel CSRFスクレイピング - php、laravel、session、csrf、csrf-protection

Laravel CSRF掻爬 - php、laravel、session、csrf、csrf-protection

私は、CSRF保護の低レベル化が本当にどれほど役立つのかと疑問に思います。

もし私がここで間違っていても、一度セッションを取得した後にページの内容を削り取ることができなかった場合は、訂正してください。

Laravelは、セッションに結合されているCSRFトークンを取得し、それをAJAX要求のメタタグとしてページに追加します。

<meta name="csrf-token" content="{{ csrf_token() }}">

https://laravel.com/docs/5.4/csrf#csrf-x-csrf-token

もちろん、AJAX機能が不要な場合はメタタグを削除することもできますが、そうではないとしましょう。

CSRFのセッションを開催したらセッション中も変わりません。もちろん、これは誰かが設定するのに大変な作業ですが、これがCSRFトークンに対する回避策の可能性があるということではありません。 copy/paste CSRF攻撃

ただ好奇心旺盛で、うまく行けば誰かがこれを拡張できます。

編集:

私はCSRFがどのように機能するのか知っていますが、人々はLaravelは、CSRFがどのように機能することを期待しているかについて、CSRFと話し合っています。 CSRFトークンがリクエストごとに再生成されることを人々は期待していますが、これはLaravelではそうではありません:

https://github.com/illuminate/session/blob/master/Store.php#L72

ところで、複数のリクエストに対するCSRFトークンを保存しなければ、AJAXのCSRFリクエストをどのように検証できるのかわかりません。

Nevermindは答えを見つけました:

https://security.stackexchange.com/questions/22903/why-refresh-csrf-token-per-form-request

これは、各要求に対してCSRFトークンを生成することが悪い考えである理由を詳しく説明しています。

回答:

回答№1は0

あなたはここでよく考えました。しかし、この質問に答えて。

PHPでfile_get_contentsを使用してCSRFトークンの検証を破ることは可能ですか?

誰かがスクラップしてcsrfトークンを抽出したとしても、代わりに別のトークンを作成する別のhttpリクエストが必要になります。だから、すべての努力は無駄になるでしょう。

注意: 私はそれをコメント欄に入れるのに十分な評判を持っていないので答えの欄に入れました。ありがとう