2

ポート 80 および 443 をリッスンする apache tomcat サーバー上で実行される製品には、重大なセキュリティ上の問題があります。これらのポートで受信する HTTP/HTTPS パケットのルーティングは、製品クラスによって構成されます。サーバーの Web ルート内にあり、提供が許可されているタイプのファイル。

特に、URL の「/error/*」に一致するパケットは、ファイルを提供するためのドキュメント ルートとして「docroot」フォルダーを使用するように構成されます。そのため、URL エンコードされたバックスラッシュを使用して /error/ (つまり、docroot) ディレクトリから外に出て行くパスに%5Cもアクセスしてダウンロードできます。たとえば、リモート ユーザーは次のような URL を指定できます。</p>

    https://MyDomain/error/..%5c..%5csettings.properties  

docroot と同じレベルにあるリモート ファイル settings.properties にアクセスします。私たちは、ファイアウォール ルールとネットワーク セグメンテーションを通じて、これを克服しようとしています。しかし、リモート ユーザーがプロジェクト ルート フォルダ外のファイルにアクセスするのを防ぐために使用できる tomcat の設定はありますか。それは非常に便利です。

4

2 に答える 2

1

一部のファイルへの直接 URL アクセスを制限したい場合は、それらを WEB-INF ディレクトリの下に置きます。

ここから引用 (注:以下の URL は現在使用できません):
http://www.servletworld.com/servlet-tutorials/web-application-directory-structure.html

ルート ディレクトリには、WEB-INF という名前のディレクトリが含まれています。WEB-INF ディレクトリを除くルート ディレクトリ以下は公開されており、ブラウザから URL でアクセスできます。

WEB-INF ディレクトリは Web アプリケーションのプライベート領域であり、WEB-INF ディレクトリ以下のファイルは、 のようなURL を指定してブラウザから直接アクセスすることはできませんhttp://somesite/WEB-INF/someresource.html。Web コンテナは、このディレクトリのコンテンツを提供しません。ただし、WEB-INF ディレクトリの内容は、アプリケーション内のクラスからアクセスできます。そのため、Web ブラウザから直接アクセスしたくない JSP や HTML ドキュメントなどのリソースがある場合は、WEB-INF ディレクトリの下に配置する必要があります。

于 2012-12-20T23:53:39.790 に答える
1

ロボットを使用して、エラー フォルダーへのアクセスを制限できる場合があります。また、 error/* へのエントリをリダイレクトされたページにマップすることもできます。

すべてのリクエストとレスポンスをエンコードすると、/ -> %5c の問題が解決するはずです

于 2012-12-11T08:08:49.270 に答える