DVWA-文件上傳學習筆記
一、文件上傳漏洞
文件上傳漏洞,通常是由於對上傳文件的類型、內容沒有進行嚴格的過濾、檢查,導致攻擊者惡意上傳木馬以便獲得服務器的webshell權限。
二、DVWA學習
將DVWA的級別設置為low
1.分析源碼,把網站根目錄和上傳的到的目錄以及文件名進行拼接,然后判斷文件是否上傳到新的位置,可以看出沒有對文件上傳做任何過濾
2.編寫php一句話木馬,然后上傳,下圖說明上傳成功
3.用中國菜刀連接上傳的webshell
將DVWA的級別設置為Medium
1.分析源碼,可以看到對上傳的文件類型和大小做了限制, 采用白名單過濾只允許上傳文件的MIME類型為image/jpeg或者image/png,以及文件大小小於100000字節
2.抓包修改文件的MIME類型,繞過MIME類型的限制
3.使用菜刀連接
將DVWA的級別設置為High
1.分析源碼,可以看到對上傳文件的后綴進行了嚴格的限制,只允許后綴為jpg、jpeg、png並且大小小於100000字節的文件。 此時只能上傳文件后綴為jpg、jpeg、png的文件
2.通過構造一句話圖片木馬,然后上傳來繞過防御,然后結合php文件解析漏洞或者web中間件解析漏洞或者文件包含漏洞來達到解析含有php代碼的png文件
2.1構造圖片馬 #本實驗由於DVWA版本自身原因,無法利用文件包含結合文件上傳
方法一:找個圖片,用記事本打開,添加一句話
方法二:copy 1.jpg/b+a.php/a 2.jpg
將DVWA的級別設置為Impossible
1.分析源碼,可以看出對上傳文件的后綴,上傳文件的類型,上傳文件的大小做了嚴格的限制,並對上傳的文件進行重命名,徹底杜絕文件上傳漏洞
Impossible級別的代碼對上傳文件進行了重命名