我正在使用 HP fortify 扫描代码。尝试打开文件时出现路径操作错误
I am scanning the code using HP fortify. I am getting Path Manipulation error when I try to open the File
我在使用 "FileSystem.FileOpen" 时遇到问题。我在下面发布代码。我从用户那里获取路径,并且在打开文件之前已经验证了路径。我仍然在 HP Fortify 中遇到相同的文件操作问题。
if ((File.Exists(moFrmIntComplaint.lblFilePath.Text)) && moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0)
{
sFilePath = moFrmIntComplaint.lblFilePath.Text;
sFileName = Path.GetFileName(sFilePath);//moFrmIntComplaint.lblFileName.Text;
sFileDirectory = Path.GetDirectoryName(sFilePath);
}
if ((String.IsNullOrEmpty(sFilePath.Trim(' ')) == false) && (File.Exists(moFrmIntComplaint.lblFilePath.Text)) && (moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0) && !string.IsNullOrEmpty(moFrmIntComplaint.lblFilePath.Text))
{
lFilePtr = FileSystem.FreeFile();
FileSystem.FileOpen(lFilePtr, sFilePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Default, -1);
lFileSize = (int)FileSystem.LOF(lFilePtr);
检查您的验证逻辑,看看您是否可以传递名为:
的文件
../../../cmdshell.aspx
或
../../../web.config
路径操作就是将服务器重定向到不希望的文件读写位置。不要依赖文件系统权限。
我在使用 "FileSystem.FileOpen" 时遇到问题。我在下面发布代码。我从用户那里获取路径,并且在打开文件之前已经验证了路径。我仍然在 HP Fortify 中遇到相同的文件操作问题。
if ((File.Exists(moFrmIntComplaint.lblFilePath.Text)) && moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0)
{
sFilePath = moFrmIntComplaint.lblFilePath.Text;
sFileName = Path.GetFileName(sFilePath);//moFrmIntComplaint.lblFileName.Text;
sFileDirectory = Path.GetDirectoryName(sFilePath);
}
if ((String.IsNullOrEmpty(sFilePath.Trim(' ')) == false) && (File.Exists(moFrmIntComplaint.lblFilePath.Text)) && (moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0) && !string.IsNullOrEmpty(moFrmIntComplaint.lblFilePath.Text))
{
lFilePtr = FileSystem.FreeFile();
FileSystem.FileOpen(lFilePtr, sFilePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Default, -1);
lFileSize = (int)FileSystem.LOF(lFilePtr);
检查您的验证逻辑,看看您是否可以传递名为:
的文件../../../cmdshell.aspx
或
../../../web.config
路径操作就是将服务器重定向到不希望的文件读写位置。不要依赖文件系统权限。