首頁 >後端開發 >php教程 >淺談從phpinfo中能獲得哪些有價值的資訊

淺談從phpinfo中能獲得哪些有價值的資訊

黄舟
黄舟原創
2017-03-29 09:23:076184瀏覽

PHPInfo()函數主要用於網站建置過程中測試建置的PHP環境是否正確,許多網站在測試完成後並沒有及時刪除,因此當存取這些測試頁面時,會輸出伺服器的關鍵訊息,這些訊息的洩漏將導致伺服器被滲透的風險。下面就來看看詳細的介紹吧。

phpinfo函數

phpinfo函數PHP中提供了PHPInfo()函數,該函數傳回PHP 的所有信息,包括了PHP 的編譯選項及擴充配置、PHP 版本、伺服器資訊及環境變數、PHP 環境變數、作業系統版本資訊、路徑及環境變數設定、HTTP 標頭、及版權宣告等訊息。

其函數定義如下:

語法: int phpinfo(void);

#傳回值: 整數

函數種類: PHP 系統功能

例如新建一個php文件,在其中輸入以下內容:

<?php phpinfo(); ?>

所以phpinfo()想必對大家都最熟悉的了,在搭建環境之後都會隨後寫一個phpinfo()來測試環境是否正常,很多人測試完畢忘記刪除就開始部署環境了,這就造成了一些敏感資訊的洩漏。那我們能從phpinfo()中獲得哪些敏感資訊呢?

php版本這種就不用說了,來看一下洩漏了哪些比較敏感的資訊。

一、絕對路徑(_SERVER[“script_FILENAME”])

這個是最常用,也是最有效的一個方法,找到phpinfo()頁面可以直接找到網站的絕對路徑,對於寫入shell和資訊蒐集是必不可少的。

二、支援的程式

可以透過phpinfo()查看一些特殊的程式服務,例如redis、 memcache、mysql、SMTP、curl等等如果伺服器裝了redis或memcache可以透過ssrf來getshell了,在discuz都出現過這類問題。如果確定安裝了redis或memcache的話,在沒有思路的情況下,可以著重找一下ssrf

三、洩漏真實ip(_SERVER[“SERVER_ADDR”]或SERVER_ADDR)

有時候透過phpinfo()洩漏的ip可以查到旁站、c段什麼的,直接無視cdn,百事不靈。

四、GOPHER

也算是ssrf一部分吧,或者說主要靠ssrf利用起來,如果支持gopher,ssrf便沒有壓力咯

五、fastcgi

查看是否開啟fastcgi和fastcgi的版本,可能導致解析漏洞、遠端命令執行、任意檔案讀取等問題

六、洩漏快取 檔案位址(_FILES[“file1”])

#向phpinfo() post一個shell可以在_FILES[“file1”]中看到上傳的臨時文件,如果有個lfi,便可以直接getshell了。

淺談從phpinfo中能獲得哪些有價值的資訊

七、一些敏感設定

allow_url_include、allow_url_fopen、disable_functions、open_basedir、short_open_tag等等

例如allow_url_include可用於遠端檔案包含、disable_functions用來查看停用函數,繞過執行、查看是否開啟open_basedir,用p牛的繞過open_basedir的方法有可能能讀一些沒權限的目錄等等。

此外還能取得一些環境訊息,例如Environment中的path、log等

#總結##

以上是淺談從phpinfo中能獲得哪些有價值的資訊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn