Webアプリケーションをテストしていますが、フォーム内でCSRFトークンに遭遇し、Burp Suite侵入者を使用したファジングの試みを妨げています。アンチCSRFトークンは、HTMLメタフィールド内にcsrf-tokenとして表示されます。フォームの送信時に、同じトークンがURIエンコードされ、POST内のauthenticity-tokenパラメータとして送信されますリクエストボディ。
トークンが無効な場合、アプリケーションはユーザーセッションを終了します。これは、Intruderを実行している場合に当てはまります。これは、トークンが(ユーザーセッションの存続期間ではなく)期待どおりに1回使用されるためです。
簡単なようですが、以下のガイドでは設定できませんでした。
https://support.portswigger.net/customer/portal/articles/2906338-using-burp-s-session-handling-rules-with-anti-csrf-tokens
https://plusplussecurity.com/2016/11/14/csrf-tokens-using-macros-in-burp-suite-iii/
リクエストと適切なトークンを選択することはあまり効果がないようですが、マクロをテストすると新しいcsrf-tokenを含む新しいレスポンスが生成されます。特に、authenticity-tokenは各リクエスト間で更新されず、セッション処理ルールが機能している証拠はありません。
この時点で何が欠けているのかわからないので、これについての良いガイドや支援をいただければ幸いです。
https://www.youtube.com/watch?v=GWLMmkv3z38 のビデオのおかげで、私が最終的にたどったルートは次のとおりです。
私はこの問題に思ったよりも多くの時間を費やしたので、これが誰かがいくつかの痛みを救うのに役立つことを願っています。明確でない場合はお知らせください。ギャップを埋めます。
あなたは正しい方向に進んでいるように聞こえます。リンクしたチュートリアルほど詳細なチュートリアルはありません。
問題の診断に役立つように、Sessions Tracerを開きます。また、認証トークンを持つリピーターにリクエストを送信します。確認したいのは、RepeaterでGoを押すと、セッション処理ルールがアクティブになり、マクロを実行して新しいトークンを取得し、Repeaterで要求を更新することです。これのどの部分が機能していないかを正確に知ることは、それを修正するのに役立ちます。
トークンはメタタグ内にあるため、カスタムパラメータの場所を使用する必要があります。マクロエディターで、[アイテムの構成]をクリックし、カスタムパラメーターの場所を追加します。
または、これを自動的に処理するBurp 2を使用します。