文件上傳如何合理地驗證文件類型?

在網上搜了一下,通常都是經過文件後綴名判斷,很顯而易見的是用戶經過修改後綴名來逃避,我想問的問題有兩個:php

  1. 還有什麼驗證文件類型的方法?框架

  2. 攻擊者利用後綴名漏洞能形成什麼樣的危害?code

在網上找到的攻擊方式有:圖片

  • 修改後綴名(exe->jpg),
  • 多後綴名(test.php.fr),
  • 後綴名大小寫(php->pHp),
  • 代碼嵌入(圖片裏注入php代碼),
  • null字符(00)
  • 相對路徑(../../../)

知乎用戶-江南迴答

其實對於防護者來講,其實不用這麼費勁來進行驗證get

  1. 時間戳+隨機數+.jpg後綴,強制重命名上傳文件
  2. 隱藏上傳後的文件名
  3. 上傳目錄不給執行權限
  4. 上傳的文件按照圖片執行

文件上傳攻擊框架文件上傳

相關文章
相關標籤/搜索