【发布时间】:2014-07-01 01:53:23
【问题描述】:
我可能在我的 Windows 应用程序中发现了一个安全漏洞。它从用户那里接收一个字符串并应用以下逻辑:
string fileName = userInput + ".notSecret";
return new FileStream(fileName, FileMode.Open, FileAccess.Read);
用户是否可以通过提前终止文件名来输入任何允许他们输入新文件扩展名的字符?
例如:
"secret_file.Secret\0"
【问题讨论】:
-
在您提出这个问题后的 50 分钟内,您可以在代码中设置断点,按 F5 并自己尝试。只是说。
-
@Tim- 我尝试了大约 20 个不同的特殊字符,包括这个字符,并在谷歌上进行了广泛的搜索。谈到安全性,我宁愿安全也不愿后悔,所以我问了这个 SO 问题,以防我错过了可能的漏洞利用。
标签: c# windows special-characters filenames