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