DVWA筆記之File Inclusion

File Inclusion,意思是文件包含(漏洞),是指當(dāng)服務(wù)器開啟allow_url_include選項時,就可以通過php的某些特性函數(shù)(include(),require()和include_once(),require_once())利用url去動態(tài)包含文件,此時如果沒有對文件來源進(jìn)行嚴(yán)格審查,就會導(dǎo)致任意文件讀取或者任意命令執(zhí)行。文件包含漏洞分為本地文件包含漏洞與遠(yuǎn)程文件包含漏洞,遠(yuǎn)程文件包含漏洞是因?yàn)殚_啟了php配置中的allow_url_fopen選項(選項開啟之后,服務(wù)器允許包含一個遠(yuǎn)程的文件)。

low服務(wù)器代碼

<php
//Thepagewewishtodisplay
$file=$_GET['page'];
>

思路:
沒做任何的過濾。
直接http://.../dvwa/vulnerabilities/fi/?page=/etc/passwd

medium服務(wù)器代碼

<php

//Thepagewewishtodisplay
$file=$_GET['page'];

//Inputvalidation
$file=str_replace(array("http://","https://"),"",$file);
$file=str_replace(array("../","..\""),"",$file);

>

medium增加了過濾的:str_replace函數(shù),對page參數(shù)進(jìn)行了一定的處理,將”http:// ”、”https://”、 ” ../”、”..\”替換為空字符,即刪除。
str_replace函數(shù) 可以用雙寫繞過。
例如
http://可以用 hthttp://tp://繞過
../、..\可以用絕對路徑也可以雙寫。

high服務(wù)器代碼

<php

//Thepagewewishtodisplay
$file=$_GET['page'];

//Inputvalidation
if(!fnmatch("file*",$file)&&$file!="include.php"){
   //Thisisn'tthepagewewant!
echo"ERROR:Filenotfound!";
exit;
}

>

High級別的代碼使用了fnmatch函數(shù)檢查page參數(shù),要求page參數(shù)的開頭必須是file,服務(wù)器才會去包含相應(yīng)的文件。
High級別的代碼規(guī)定只能包含file開頭的文件,看似安全,不幸的是我們依然可以利用file協(xié)議繞過防護(hù)策略。file協(xié)議其實(shí)我們并不陌生,當(dāng)我們用瀏覽器打開一個本地文件時,用的就是file協(xié)議
直接
http://.../dvwa/vulnerabilities/fi/?page=file:///etc/passwd
至于執(zhí)行任意命令,需要配合文件上傳漏洞利用。首先需要上傳一個內(nèi)容為php的文件,然后再利用file協(xié)議去包含上傳文件(需要知道上傳文件的絕對路徑),從而實(shí)現(xiàn)任意命令執(zhí)行。

Impossible服務(wù)器代碼

<php
//Thepagewewishtodisplay
$file=$_GET['page'];

//Onlyallowinclude.phporfile{1..3}.php
if($file!="include.php"&&$file!="file1.php"&&$file!="file2.php"&&$file!="file3.php"){
//Thisisn'tthepagewewant!
echo"ERROR:Filenotfound!";
exit;
}

>

可以看到,Impossible級別的代碼使用了白名單機(jī)制進(jìn)行防護(hù),簡單粗暴,page參數(shù)必須為“include.php”、“file1.php”、“file2.php”、“file3.php”之一,徹底杜絕了文件包含漏洞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容