首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 彩蛋資訊洩露風險與關閉方法:expose_php 與 .htaccess 防護

     編輯:PHP 綜合知識

什麼是 PHP 彩蛋

在 URL 後附加特定查詢字串,可顯示 PHP 版本、Logo、Zend Logo 等資訊:

  • ?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000:PHP 版本資訊
  • ?=PHPE9568F34-D428-11d2-A769-00AA001ACF42:PHP Logo
  • ?=PHPE9568F35-D428-11d2-A769-00AA001ACF42:Zend Logo
  • ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42:PHP 藍色大象 Logo

風險

攻擊者可獲知確切 PHP 版本,針對已知漏洞攻擊。expose_php = On 也會在 HTTP Header 洩露 X-Powered-By: PHP/x.y.z。

關閉方法

方法一:修改 php.ini(推薦)

expose_php = Off

重啟 Web Server 後,彩蛋失效、Header 不再包含 PHP 版本。

方法二:.htaccess 封鎖彩蛋請求(無 php.ini 權限時)

RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC]
RewriteRule .* - [F]

回傳 403 Forbidden 阻擋彩蛋存取。

驗證

瀏覽器訪問任意 PHP 頁面加上彩蛋參數,應無法顯示資訊;curl -I 檢查 Header 無 X-Powered-By。

參考範例

  • https://example.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
  • https://en.wikipedia.org/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved