777 の危険: PHP / Apache セキュリティの詳細
777 権限を持つディレクトリまたはファイルを環境に残すと起こる悲惨な結果PHP / Apache 環境は広く認知されています。一般知識では権限を最小限に抑えることが重要であるとされていますが、この一見無害な設定によってもたらされる具体的な脆弱性を詳しく掘り下げる価値はあります。
実行権限に関係なく PHP スクリプトを実行できるという誤解にもかかわらず、重大な脆弱性は次の場合に発生します。 PHP スクリプトには、シェル スクリプトを呼び出す system() 呼び出しが含まれています。通常、PHP スクリプトを実行する Apache ユーザーは、777 権限があれば、シェル スクリプトを含む脆弱なディレクトリ内のあらゆるファイルを実行できます。
次の悪意のあるシナリオを考えてみましょう。保護されていないディレクトリにより、ユーザーのアップロードが許可されます。 2 つの悪意のあるファイルがアップロードされます。シェル スクリプトと、シェル スクリプトへの system() 呼び出しを含む PHP ファイルです。ユーザーがブラウザ経由で PHP ファイルにアクセスすると、サーバー上でシェル スクリプトが実行されます。このディレクトリが 777 に設定されている場合、Apache ユーザーを含む誰でもスクリプトを実行できます。
対照的に、ディレクトリとその内容に実行ビットがない場合、system() 呼び出しは無効なままになります。 system() 呼び出しを実行してシステムを侵害する可能性があるかどうかを決定するのは、PHP ファイルのアクセス許可ではなく、実行ビットです。これらの微妙な違いを理解することは、PHP / Apache アプリケーションのセキュリティを確保するために不可欠です。
以上がPHP/Apache 環境でディレクトリ 777 権限を与えるとセキュリティ リスクが生じるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。