談談從phpinfo中能獲取哪些值得注意的信息

轉載  2017-03-28   作者:律師''''小窩 

PHPInfo()函數主要用於網站建設過程中測試搭建的PHP環境是否正確,很多網站在測試完畢後並沒有及時刪除,因此當訪問這些測試頁面時,會輸出服務器的關鍵信息,這些信息的泄露將導致服務器被滲透的風險。下面就來看看詳細的介紹吧。


phpinfo函數

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

其函數定義如下:

語法: int phpinfo(void);

返回值: 整數

函數種類: PHP 系統功能

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

1
<?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了。

七、一些敏感配置

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等

總結

暫時只想了這麼多,歡迎留言補充,一定及時更新。以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章