簡體   English   中英

強化-路徑操縱

[英]Fortify - Path Manipulation

我在以下幾行中遇到了一個設防錯誤:

  string path = "<hardcodedpath>"; 
  var fileBytes = System.IO.File.ReadAllBytes(path + fileName);
  return File(fileBytes, System.Web.MimeMapping.GetMimeMapping(fileName), fileName);

例如:-path = C:\\ WorkSpace \\ Project \\\\ Files \\

我確保(列入白名單?)參數fullPath是單獨從預定義文件夾中提取的(此處未粘貼相同代碼),除預定義文件夾中的文件外,其他任何人都無法訪問。

但是,Fortify並未將這些問題標記為已解決。 我如何通過Fortify解決此問題? 還有什么需要照顧的嗎?

錯誤消息-攻擊者可以在.cs第446行控制ReadAllBytes()的文件系統路徑參數,從而使他們可以訪問或修改受保護的文件。

由於聲譽規則很愚蠢,我無法發表評論,因此我將其回答。 您已經顯示了“路徑”的來源,但沒有提到“文件名”的來源。 如果該變量的值來自不受信任的來源,那么這就是此問題的原因。 您需要將該變量列入白名單,以便攻擊者可以更改路徑。 一旦知道您的白名單是好的,就可以解決此問題。 僅憑白名單並不能阻止Fortify再發現問題,因為它無法告訴您何時白名單就足夠了。

您也可以嘗試在https://protect724.hp.com上將Fortify問題發布到他們的在線論壇。 支持小組將監視這些論壇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM