我有路径操纵问题.以下代码放在ASPx页面的Page_load方法中.
String rName = Request.QueryString["reportName"];
string path = "C:\\hari" + rName;
if (File.Exists(path))
{
File.Delete(path);
}
Run Code Online (Sandbox Code Playgroud)
但Fortify上面的示例代码扫描报告显示"Path Manipulation"问题为高需要帮助修改上面的代码,以便它可以通过强化扫描
杰克逊是对的,这是一个直接的文件路径操纵漏洞,可以通过间接选择来修复.从已知目录中,列出所有文件.使用来自您自己的目录列表的值,而不是用户提供的值.
String rName = Request.QueryString["reportName"];
String knownPath = "C:\\hari";
DirectoryInfo di = new DirectoryInfo(knownPath);
FileInfo[] files = di.GetFiles(rName);
if (files.length > 0)
{
files[0].Delete();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16719 次 |
| 最近记录: |