前端-接入層上傳問題

接入層上傳

上傳問題

  • 上傳文件
  • 再次訪問上傳的文件
  • 上傳的文件被當成程序解析

上傳問題防護

  • 限制上傳後綴
let ext = path.extname(file.name);
if (ext === ".js") {
  throw new Error("不要上傳壞文件");
}

可是能夠經過改後綴名的方式,達到攻擊的目的javascript

  • 文件類型檢查
if (file.type != "image/png") {
  throw new Error("只容許PNG");
}

類型是從瀏覽器讀取的,能夠不通過瀏覽器上傳文件,依然不安全php

  • 文件內容檢查
var fileBuffer = fs.readerFileSync(file.path);
fileBuffer[0] == 0x5b;

可是能夠經過在文件頭部寫入對應的內容java

GIF89a
<?php

因此仍是不安全瀏覽器

  • 程序輸出
    • 比較保險,可是對性能可能會有很大的影響
  • 權限控制-可寫可執行互斥
    • 這還少一個原則,是安全的一個最低保障
相關文章
相關標籤/搜索