0

私のチームは、次のことができるように Web アプリを「拡張」するように依頼されました。これは Web アプリのセキュリティ リスクと見なされますか? これについてはよくわかりません。

「[データをデータベースに] エクスポートおよびインポートするために、仮想ディレクトリの外部にあるディレクトリにアクセスできる」

つまり、リクエスターは、おそらくデータをインポート (またはエクスポート) するときに、アプリケーションの IIS 仮想ディレクトリの外部にあるデータ ファイルに移動できることを望んでいます。

これはWebサーバー上を意味すると思いますが、クライアントマシン上のローカルファイルを意味する場合があります(明確にする必要があります)。しかし、いずれにせよ疑問は残ります。

4

2 に答える 2

1

Web アプリケーションの境界の外に出ることについて話している場合、それはリスクを意味します。特定のユーザーが Web アプリケーションを超えることを許可すると、そのユーザーが Web サーバーで実行できる操作を制御できなくなります。

パス トラバーサル攻撃を見てみましょう。

https://www.owasp.org/index.php/Path_Traversal

また、これを回避するために考慮すべき事項のリストを次に示します。

https://www.owasp.org/index.php/File_System#Path_traversal

ご不明な点がございましたら、お知らせください。

よろしく、 ファビオ @fcerullo

于 2013-03-06T14:10:59.937 に答える
0

問題は「どちらか一方」ではありません。それらは異なる質問です。ローカル コンピューターからリモート サーバーに送信するファイルを選択できるようにすることであれば、それはごく日常的なことです。たとえば、ファイルを電子メールに添付している間、常にそれを行います。ファイルの選択を開始するのはユーザーであり、Web アプリに送信するのはユーザーのファイルです。ここにはセキュリティ ホールはありません。

クライアントがサーバー コンピューターであらゆる種類のファイルを参照できるようにする必要がある場合、それ自体はセキュリティ ホールではありません。それはあなたが望んでいたものです、あなたはそれを手に入れました。これは、クライアントがサーバー上のどのディレクトリからでもファイルを取得できるようにする必要があることを意図していない場合にのみ、セキュリティ ホールになります。多くの場合、クライアントにサーバー上のすべての包括的なファイルへのアクセスを許可したくないため、このシナリオ全体はセキュリティの問題として分類されます。通常、クライアントは特定のファイルのみにアクセスできる必要があります。仮想ディレクトリに制限することは、それを行う 1 つの方法です。たとえば、クライアントが Web サイトのすべてのユーザーの記録を含む実際の DB ファイルを取得し、その DB ファイルを自分の DB にロードできるようにしたいですか?

それを超える必要がある場合は、特定のファイルのみへのアクセスを許可するメカニズムを実装する必要があります。Web サーバーは、サーバー OS 上の一部のユーザーのコンテキストで実行されていることを思い出してください。クライアント要求がサーバーに到達すると、コマンドが実行される Web サーバー ユーザーになります。そのため、その Web サーバー ユーザーのアクセス許可を設定するだけではセキュリティを実現できません。

于 2013-03-06T11:06:17.953 に答える