我得到在下面的線設防錯誤 -Fortify的 - 路徑操作
string path = "<hardcodedpath>";
var fileBytes = System.IO.File.ReadAllBytes(path + fileName);
return File(fileBytes, System.Web.MimeMapping.GetMimeMapping(fileName), fileName);
如: - 路徑= C:\工作臺\項目\\文件\
我確保(白名單?)參數fullPath是單獨從一個預定義文件夾中提取的(相同的代碼不會粘貼到此處),並且沒有人能夠訪問除預定義文件夾中的文件之外的任何其他文件。
但是,Fortify不會將這些問題標記爲已解決。 Fortify如何解決這個問題?還有什麼需要照顧的嗎?
錯誤消息 - 攻擊者可以通過.cs行446控制文件系統路徑參數爲ReadAllBytes(),這允許他們訪問或修改其他受保護的文件。
[安全違規 - Fortify,MVC]的可能重複(http://stackoverflow.com/questions/28175747/security-violation-fortify-mvc) – 2015-02-10 21:04:22
如果您正確閱讀該問題,這不是重複的。 – 2015-02-10 21:20:06
沒有看到上下文,很難看出這不是重複的。請至少告訴我們您發佈的代碼不在控制器操作中,並且'fullPath'無法被客戶端代碼操縱。 – 2015-02-10 21:24:05