上传文件白名单_十大常见web漏洞——文件上传漏洞
漏洞介紹
在我們瀏覽網頁時,文件上傳是非常常見的,比如我們會上傳頭像、附件、視頻等文件,文件上傳漏洞通常由于網頁代碼中的文件上傳路徑變量過濾不嚴造成的,如果文件上傳功能實現代碼沒有嚴格限制用戶上傳的文件后綴以及文件類型,比如上傳頭像的時候,按道理用戶只能上傳圖片類型的文件,但是如果代碼沒有限制文件類型,攻擊者可通過 Web 訪問的目錄上傳任意文件,包括網站后門文件(webshell),進而遠程控制網站服務器。
文件傳輸
漏洞演示
下面我們在DVWA環境下進行演示,如下圖紅框中要求我們選擇一張圖片去上傳,正常用戶會選擇后綴為“.jpg”、“png”等類型的圖片上傳,但如果后臺代碼沒有對文件類型進行限制,我們選擇了一個后綴為“”.php的“webshell.php”文件,它是一個包含了惡意代碼文件,點擊“upload”,提示“succesfully uploaded!”,上傳成功!攻擊者會通過訪問此文件,進而控制我們的網站服務器。
沒有限制文件類型的上傳
當然,現在沒有限制的上傳頁面幾乎不存在了,我們大部分遇到的情況會是如下圖所示:
限制了文件類型的上傳界面
它會提示“Your image was not uploaded. We can only accept JPEG or PNG images.”上傳失敗,并要求你只能上傳JPEG或PNG格式的文件,我們打開后臺代碼,發現它只允許image/jpeg和image/png類型文件上傳,如下圖:
限制了文件上傳類型
這時候我們需要抓取上傳文件時的數據請求包,如下圖所示,將加深部分的信息(Content-Type: application/octet-stream)修改為:Content-Type: image/jpeg,點擊forward
上傳文件時的請求數據包
系統就會提示上傳成功,因為我們修改了文件類型為系統所允許的類型,所以上傳成功,如下圖:
修改請求數據包后上傳成功
此時此刻,系統雖然進行了文件類型的限制,但是攻擊者還是會通過各種各樣的手段將自己想要上傳的文件類型,上傳到系統服務器,文件上傳漏洞依然存在,需要更嚴格的限制,這里我們就不再演示,因為魔高一尺道高一丈,我們只需要了解文件上傳漏洞的原因及危害即可,防護的問題交給專業的技術人員來完成,下面介紹三個主要防御措施。
漏洞防御
1、設置文件上傳類型白名單;
2、指定文件上傳的路徑,并禁止路徑下文件的執行權限;
3、隱藏上傳路徑。
沒有網絡安全,就沒有國家安全!
總結
以上是生活随笔為你收集整理的上传文件白名单_十大常见web漏洞——文件上传漏洞的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手怎么录游戏快手怎么录游戏作品
- 下一篇: 用户怎么看算法?报告:八成受访者想要精准