OS X サーバーでユーザー '_www' が持っている権限を調べようとしています。ルート アクセス権があるかどうか、システム ファイルにアクセスできるかどうか、または書き込み用に標準のトップ レベルの「Websites」ディレクトリにアクセスできるかどうかを確認する必要があります。
1 に答える
さて、あなたは/etc/group
どのグループが_www
属しているかを調べることができます:
$ grep _www /etc/group
_www:*:70:_devicemgr,_teamsserver
適切に構成されたサーバーでは、Web サーバーを専用ユーザーとして実行することの要点は、そのユーザーの権限を他の場所で制限することです。ただし、ファイルシステムにアクセスする Web アプリケーション コードは、サーバーの DocumentRoot の外側で読み取ることができます。
したがって、ファイルシステムの読み取り中にアプリケーションコードがそれを保護しない場合、所有されていない_www
が読み取り権限があり、ファイルの親ディレクトリで実行されるファイルは、理論的には読み取ることができます。_www
同様に、アプリケーション コードがファイルへのアクセスを提供する場合、他のユーザーが書き込み可能なファイル システム上のファイルは、Web サーバーによって変更される可能性があります。
このような問題は、アプリケーションがユーザー入力を使用して読み取りまたは書き込み用のファイルパスを生成するときに悪用../../../../../../../../../
される可能性がありますが、次のような入力を防ぐことができません。
/www/application/phptemplates/../../../../../../../../../../etc/passwd
もちろん、最近のシステムで/etc/passwd
は は実際にはパスワードを保存しませんが、潜在的な攻撃者にローカル ユーザーやその他の重要な情報を明らかにする可能性があります。