問題
最近同事詢問在處理 Checkmarx (V 9.4.5.1012 HF24) Path Traversal 透過 Replace
卻無法消除問題。
來源是 data
,目的地是 FilesName
程式如下,
1 | [ ] |
從 Checkmarx 管理 UI 中發現,Checkmarx 似乎不理會 FilesName
後面的 Replace
,
直接就決定 FilesName
這裡有問題。
都還在處理 File 的路徑,Checkmarx 怎麼直接就噴有問題呢?
解法
從 data.File
,File
是 UploadArichiveClassficationReportForm
類別的屬性名稱。
但從上述來看, Checkmarx 將 File.FilesName
的 File
當成是 System.IO.File
。
看來是因為 屬性 名稱取成 File
,所以中招了 …
那怎麼辦呢?
1.改屬性名稱,將File
改成 別的屬性名稱,儘量別跟 System.IO
類別名稱一樣
2.先將 data.File
放到變數之中,再來操作,如下
1 | [ ] |