我正在使用 nodejs,我的网站的一部分将只是简单地提供文件,基本上fs.readFile
在包含公共文件的某个目录上使用。例如,当您请求mydomain.com:1234/hello/info.html
我的脚本时,将请求文件publicfiles/hello/info.html
并将结果发送给客户端。但是,我知道如果进入mydomain.com:1234/../evilurl/userpasswords.txt
nodejs 的攻击者会尝试获取 file publicfiles/../evilurl/userpasswords.txt
,这实际上与 相同evilurl/userpasswords.txt
,所以换句话说,他们可以访问目录外的publicfiles
文件并访问“安全”信息。req.url
我知道我可以通过简单地确保它不包含来防止这种情况..
,但是用户还有其他方式可以访问坏文件吗?他们可以使用某种转义序列而不是..
这意味着同样的事情?另外,我不想为此使用快递。如果有专门为此的库,我很好,但我不想要一个像express这样的庞大框架。
问问题
189 次