检查目录是否是特定目录的子目录

时间:2016-03-22 15:20:21

标签: linux bash directory subdirectory penetration-testing

我目前正在开发一个带有SSH连接的Web应用程序。

一个任务是我需要验证目录是否低于当前用户的htdocs-dir。

到目前为止,我所做的是检查目录字符串是否在字符串的开头有htdocs-part。 喜欢

  

“/ var / users / user / htdocs”就在前面   “的/ var /用户/用户/ htdocs中/ TESTDIR”

现在我正在进行渗透测试并输入

  

“的/ var /用户/用户/ htdocs中/ TESTDIR /../../../".

这是问题所在。我如何检查目录是否是另一个目录的第n级子目录

3 个答案:

答案 0 :(得分:1)

您可以使用readlink获取实际生成的路径:

mybox\> readlink -m /var/users/user/htdocs/testDir/../../../    
/var/users

答案 1 :(得分:1)

您可以使用realpath

find /var/users -path `realpath /var/users/user/htdocs/testDir/../..`

另外,它也适用于相对路径:

find `realpath dir` -path `realpath dir/htdocs/testDir/..`

答案 2 :(得分:1)

我会用

find /var/users/user/htdocs -path $(readlink -m /var/users/user/htdocs/testDir/../../../)