检查目录是否是特定目录的子目录
Check if directory is a subdirectory of specific directory
我目前正在开发一个带有 SSH 连接的 Web 应用程序。
一个任务是我需要验证目录是否在当前用户的 htdocs-dir 之下。
到目前为止,我所做的是检查目录字符串是否在字符串的开头有 htdocs-part。
喜欢
"/var/users/user/htdocs" is in front of
"/var/users/user/htdocs/testDir"
现在我正在对此进行渗透测试并输入
"/var/users/user/htdocs/testDir/../../../".
问题来了。我如何检查一个目录是否是另一个目录的第 n 级的子目录
您可以使用 readlink
获取实际结果路径:
mybox\> readlink -m /var/users/user/htdocs/testDir/../../../
/var/users
您可以使用 realpath:
find /var/users -path `realpath /var/users/user/htdocs/testDir/../..`
另外,它也适用于相对路径:
find `realpath dir` -path `realpath dir/htdocs/testDir/..`
我会用
find /var/users/user/htdocs -path $(readlink -m /var/users/user/htdocs/testDir/../../../)
我目前正在开发一个带有 SSH 连接的 Web 应用程序。
一个任务是我需要验证目录是否在当前用户的 htdocs-dir 之下。
到目前为止,我所做的是检查目录字符串是否在字符串的开头有 htdocs-part。 喜欢
"/var/users/user/htdocs" is in front of "/var/users/user/htdocs/testDir"
现在我正在对此进行渗透测试并输入
"/var/users/user/htdocs/testDir/../../../".
问题来了。我如何检查一个目录是否是另一个目录的第 n 级的子目录
您可以使用 readlink
获取实际结果路径:
mybox\> readlink -m /var/users/user/htdocs/testDir/../../../
/var/users
您可以使用 realpath:
find /var/users -path `realpath /var/users/user/htdocs/testDir/../..`
另外,它也适用于相对路径:
find `realpath dir` -path `realpath dir/htdocs/testDir/..`
我会用
find /var/users/user/htdocs -path $(readlink -m /var/users/user/htdocs/testDir/../../../)