路徑截?cái)?/h2>
00截?cái)?/h3>
在ASCII碼中,00代表的是空(Null)字符,在URL中表現(xiàn)為%00。在文件截?cái)喙糁?,就是采用空字符?lái)誤導(dǎo)服務(wù)器截?cái)嘧址?,以達(dá)到繞過(guò)攻擊的目的。00截?cái)鄷?huì)導(dǎo)致文件上傳路徑截?cái)?/p>
原理:
服務(wù)器后臺(tái)采用的是move_uploaded_file()函數(shù)將上傳的文件移動(dòng)到新位置也就是文件另存,函數(shù)在執(zhí)行的時(shí)候會(huì)有兩個(gè)參數(shù),第一個(gè)參數(shù)就是原文件的路徑,第二個(gè)參數(shù)就是目標(biāo)函數(shù)的路徑,這兩個(gè)路徑都是作為字符串來(lái)出現(xiàn)的;該函數(shù)屬于文件系統(tǒng)函數(shù),涉及到文件操作,底層是采用C語(yǔ)言實(shí)現(xiàn)的,在C語(yǔ)言中,判斷字符串是否結(jié)束是以空字符為標(biāo)志的。因此,當(dāng)上傳的文件名中含有%00符號(hào)時(shí),服務(wù)器會(huì)認(rèn)為字符串到此結(jié)束,從而達(dá)到繞過(guò)的目的。
簡(jiǎn)單來(lái)說(shuō),在C語(yǔ)言中%00是字符串的結(jié)束標(biāo)識(shí)符,而PHP就是C語(yǔ)言寫的,所以繼承了C語(yǔ)言的特性,所以判斷為%00是結(jié)束符號(hào)不會(huì)繼續(xù)往后執(zhí)行。
利用前提條件:
PHP<5.3.29,且GPC關(guān)閉
能夠自定義上傳路徑
漏洞利用
PHPstudy切換到5.2.17版本
關(guān)閉GPC,打開對(duì)應(yīng)的php.ini文件將GPC關(guān)閉,然后重啟服務(wù)器

實(shí)戰(zhàn)前準(zhǔn)備
準(zhǔn)備好一個(gè)文件,該文件可能是木馬,也可能是其他任意文件,本實(shí)驗(yàn)以php探針作為測(cè)試文件,來(lái)驗(yàn)證是否存在文件上傳漏洞以及繞過(guò)漏洞檢測(cè)的方法。
文件名為:phpinfo.php,文件內(nèi)容:<?php phpinfo();?>。
靶場(chǎng)環(huán)境:upload-labs
less12
實(shí)戰(zhàn)詳細(xì)步驟
測(cè)試過(guò)程:可以先測(cè)試前端JS繞過(guò)→MIME繞過(guò)→服務(wù)端后綴名繞過(guò)→文件內(nèi)容繞過(guò)等文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-656937.html
訪問upload-labs并點(diǎn)擊進(jìn)入文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-656937.html
到了這里,關(guān)于【文件上傳漏洞-04】文件上傳路徑截?cái)喟袌?chǎng)實(shí)戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!