どのように機能しますか?
アルゴリズムは非常に簡単です。 サーバーに対して4つのリクエストを順番に行います。
1.通常のリクエスト。
2.この脆弱性を利用したリクエストは、テスト対象のサーバーにCookieを配置しようとしているため、特別な httpリクエストの実行に2秒の遅延が発生します。
3.この脆弱性を利用したリクエストは、テスト対象のサーバーにCookieを配置しようとするため、特別な httpリクエストの実行に4秒の遅延が発生します。
4. 3項と同じ。
その結果、何が得られますか?
検証は、脆弱性を使用してCookieを配置しようとすることで実行されます。 Cookieは、httpリクエストの処理を最初に2秒、次に4秒遅らせます。 次に、結果が比較されます。 ここには3つのオプションがあります。
1. Cookieを使用しないリクエストとCookieを使用するリクエストで2秒の遅延が発生する場合と、2秒のCookieと4秒の場合の応答時間に2秒の差がある場合、脆弱性が存在します。 つまり、私たちのリクエストはなんとかこの脆弱性を悪用してクッキーを配置することができました。
2.脆弱性はありません-すべての要求はほぼ同じ時間で応答を受け取ります。 つまり、Cookieを配置できませんでした。
3.不確実な状況。 サーバーに高負荷がかかり、応答時間が絶えずジャンプする場合に発生する可能性があります。 遅延の差が準害のあるCookieの操作の結果なのか、サーバーの負荷の短期的なピークの結果なのかを記録することはできません。 この状況を確認するために、3番目と4番目の同じ遅延で2つの連続したリクエストを作成します。 結果が大きく異なる場合、遅延はランダムであり、Cookieに依存しません(Cookieはまったく記録されていない可能性があります)。 この場合、この方法では脆弱性の存在を判断できません。
セキュリティチェック
スキャンによってサーバーが破損することはありません。 リスクは、サーバー上に1つの「余分な」Cookieが出現することだけです。 このCookieはテストリクエスト中にのみ使用され、動作中のサイトに遅延を引き起こすことはありません。