您好,登錄后才能下訂單哦!
最后再來分析high級別的代碼:
這里首先有一條語句需要理解:
$uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1); |
在這條語句里,首先利用strrpos() 函數(shù)來查找“.”在變量$uploaded_name中出現(xiàn)的位置,然后將得到的數(shù)值加1,最后利用substr()函數(shù)從變量$uploaded_name的指定位置截取部分字符串。
總之,這條語句的作用就是從我們所上傳的文件名中截取出擴展名部分。
接下來就用if語句來判斷這個擴展名是否是大寫或小寫的jpg/jpeg,如果不是的話則不允許上傳,因而這里就是定義了一份白名單,這也是安全性比較高的一種防御措施。
最后總結(jié)一下,如果要挖掘上傳漏洞,那么就可以在網(wǎng)頁代碼中搜索$_FILES這個用于接收上傳文件的變量,或是搜索move_uploaded_file這個用于執(zhí)行上傳操作的函數(shù),然后再分析是否采取了過濾措施。
上傳漏洞作為一種主流的***方式,其形式是非常多樣的,單純就DVWA中這種上傳漏洞而言,定義白名單就是一種不錯的防御方式。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。