はじめに
ウェブサイトにアクセスする際、アクセスパスから/が欠落している場合、ほとんどのミドルウェアは自動的にパスを完成させ、Hostヘッダーの値を使用してLocationの場所のドメイン名で、以下に示すように302または301ジャンプを返す。
この状況は実際にはリスクが低く、Hostヘッダー攻撃を構成するのは難しい。しかし、ほとんどの脆弱性スキャナはこの状況をHostヘッダー攻撃として検出するため、より高いレベルの検査や様々な監査に合格するためには、ほとんどのParty Aユニットは問題を完全に解決するために脆弱性を修正する必要がある。
ジャンプパスはWebプロジェクトで定義されたものではなく、ミドルウェアが自動的にジャンプさせるものなので、静的変数を書いても修正できませんし、Webプロジェクトのグローバルフィルターでも阻止できません。修正するには、ウェブサーバレベルで設定する必要があります。以下は一般的なサーバーリファレンスの修正リストで、間違いや不正確な点があれば歓迎します。
Apache
方法1: httpd.confファイルを修正する。
ServerNameをアプリケーションのドメイン名に変更する。
以下の行を追加する
Apacheを再起動するだけです。
修正に成功すると、サーバー側で設定されたServerNameが使用されるようになります。
パラメータの説明
方法2
confhttpd.confファイルを変更する
以下の設定を参考に追加してください:
Apacheを再起動するだけです。
役割
IP192.168.0.16を直接経由するアクセス要求を拒否します。その時点で、192.168.0.16でアクセスすると、アクセスが拒否されましたと表示されます。www.test.com这个域名访问、ホームディレクトリはC:wwwを指します。
メソッド3
confhttpd.confファイルを変更する
"#LoadModule rewrite_module modules/mod_rewrite.so "を見つけ、その前の "#"を削除する。 以下のような設定を追加する:
Apacheを再起動する。
役割
HOST ヘッダが 192.168.0.16 でない場合にエラーページにリダイレクトします。
Nginx:
方法1:
nginx.confを修正する
デフォルトサーバを追加し、ホストヘッダが一致するように変更されると、サーバはデフォルトサーバにジャンプし、デフォルトサーバは直接403エラーを返します。
例は次のとおりです:
nginxを再起動します。 方法2:
nginx.confを修正する。
対象サーバに検知ルールを追加します。以下の赤字の設定を参考にしてください: nginxを再起動します。
トムキャット
tomcatconfserver.xml の修正
以下の場所を探してください:
Hostの名前を以下のように静的ドメイン名に変更します:
tomcat を再起動すると修復が完了します。
IIS6.0
ISAPI_Rewriteプラグインを使用して、リクエスト・パケットの内容を検査し、URLを書き換えてください。
プラグインのインストールパッケージとクラックツールのダウンロードアドレス:https://pan.baidu.com/s/1hZVfCm7FraQWHlKMKyItFQ
ダウンロードが完了したら、プログラムをダブルクリックし、それをインストールするには、[次へ]をクリックし続ける.
写真のように3つのファイルを解凍するクラッキングツールの後
コピーしてISAPI_Rewriteのインストールディレクトリに直接3つのクラックされたファイルを貼り付ける、つまり、公式の元のファイルを上書きするために、プロンプトが上書きすることができない場合は、まず別の名前に公式の3つのファイルの名前を変更することができ、その後、3つのクラックされたファイルを上書きコピーします。
置換が完了したら、ISAPI_Rewrite.dllのSERVICEユーザーグループを追加し、読み取り、読み取り、および実行権限を付与する必要があります。(このステップは非常に重要であり、そうでなければその後のISAPI_Rewriteは動作しません)。
IIS管理ツールを開き、対象のプロジェクトを選択 -> プロパティ -> ISAPIフィルタ -> 追加 -> インストールしたISAPI_Rewrite.dllファイルのパスを選択 -> OK
IISを再起動し、IIS管理ツールを開き直すと、ターゲットプロジェクト -> プロパティに新しいISAPI_Rewriteタグがあります。
Hostヘッダーのホワイトリストを設定するには、以下のルールを参照してください。
設定が完了し、適用をクリックした後、リクエストパケットのHostフィールドが設定された192.168.2.141でない場合、自動的にエラーページにジャンプします。
iis7.0/7.5/8.0:
マイクロソフトは、リクエストURLをフィルタリングすることができるURL書き換えモジュールツールを導入しました、このツールは、単独でインストールする必要があります、次のツールのダウンロードアドレス:
マイクロソフトのダウンロードアドレス(64ビット): http://www.microsoft.com/zh-cn/download/details.aspx?id=7435 マイクロソフトのダウンロードアドレス(32ビット): http://www.microsoft.com/zh-cn/download/details.aspx?id=5747
ダウンロードが完了したら、プログラムをダブルクリックし、「次へ」をクリックしてインストールします。
iis admin tool を再起動すると、IIS バーの下に URL Rewrite Tool が表示されます。
URL Rewrite機能をダブルクリックし、URL Address Inbound Rulesフィールドにルールを追加します。
ブロックするリクエストを選択してください。
次の図を参照して、ルールを設定するには、ホストヘッダは、Webサイトのドメイン名またはipを記入することができ、[OK]をクリックします。
この時点で、先ほど作成したルールをダブルクリックしてください。
リクエストURLオプションで「パターンとの不一致」を選択し、使用法オプションで「完全一致」を選択し、操作タイプで「リクエストの中止」を選択し、右上の適用ボタンをクリックします。右上の適用ボタン
その後、サイトを再起動し、ホストが192.168.124.149されていないときに再テストするには、この時点で、サーバーは、このようにホストヘッダを防止する役割を果たし、要求を中止することがわかります。
https://www.freebuf.com/articles/web/178315.html から取得
|