おそらく多くの古い PHPer は「PHP Easter Egg」という言葉をすでに知っているか聞いたことがあるでしょう。PHP4 のバージョンからイースターエッグは存在していたようですが、実際には近年では徐々に忘れ去られているかもしれません。 、イースターエッグ機能は PHP スクリプト エンジンはデフォルトで有効になっています。
phpinfo(); を記述してアクセスし、次の GET 値を追加して
を表示します。公式 Discuz フォーラムを使用してテストしてみましょう:
http://www.discuz.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
http://www.discuz.net/?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
http://www.discuz.net/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
http://www.discuz.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
以下の図に示すように、上記の 4 つのリンクの赤い部分は、PHP ソース コード/ext/standard/info.h で定義されている GUID 値です
PHP イースターエッグに関しては、この方法は、スキャンされた Web サイトが使用している Web 開発言語を検出するために、一部の外国の Web 脆弱性スキャナー (HP WebInspect など) で使用されています。実際、一部の Web サイトでは動的スクリプトを使用して純粋に静的な HTML ページを生成したり、URL 書き換えを使用して疑似静的ページを実装したりしているため、ペネトレーション テストのプロセス中に、一部の Web サイトでどの Web 開発言語が使用されているかを特定することが困難になることがよくあります。 Web サイトは PHP を使用しています。開発している場合は、イースターエッグ機能がデフォルトで php.ini で有効になっているため、多くの場合、イースターエッグの検出方法を使用してみてください。他の人がイースターエッグを通じて Web サイトを入手できないようにするには、機密情報がある場合は、 php.ini で Expose_php = Off を設定してください !
上記を読むと、php.ini で Expose_php = On になっているので、パケットをキャプチャして http ヘッダー情報を見れば問題ない、と言う人もいるかもしれません。しかし、一部の大規模なサイトでは、Web の前にリバース プロキシ サーバーが設置されています。したがって、http ヘッダー内の情報のキャプチャに完全に依存することはできません。