私が所有するフォーラムのモデレーターがそうしました。私はまだそれを信じることができず、彼がどのようにそれをしたのか理解できません. 誰かが私を説明できますか?彼は、HTTP GET リクエストのみを使用したと述べました
モデレーターは、サーバー (nginx) は通常、実行された php ファイルの出力を送信するが、ファイルが URL にいくつかのパラメーターを追加しているため、解析されていないバージョンを取得できると述べました。
ありがとう
サイトに不適切に書かれたダウンロード スクリプトがある場合は、URL を書き換えて任意のファイル (PHP ソース ファイルを含む) をダウンロードするのと同じくらい簡単です。それはまさに彼がやったことかもしれないので、使用しているフォーラム ソフトウェア (およびインストールされているサードパーティ モジュール) に既知の脆弱性が含まれていないかどうかを確認することをお勧めします。
適切に構成されたサーバーは、.php ファイルのみを実行し、ソースを明らかにしません。しかし、不適切に構成されたサーバーは、元のファイルを指す .phps シンボリック リンクを介して PHP ソースを提供できます。
それを超えて、問題のソースに次のようなバックドアが含まれていない限り、クエリパラメーターは PHP にソースを提供するように指示できません。
if (isset($_REQUEST['gimme_the_codez'])) {
readfile($_SERVER['SCRIPT_FILENAME']);
exit();
}
もちろん、ファイルのモードは 777 であるため、ディレクトリにアクセスできれば、ファイルを直接取得したり、簡単にバックドアに侵入したりできます。