📅  最后修改于: 2023-12-03 14:49:13.462000             🧑  作者: Mango
目录遍历攻击(Directory Traversal Attack)是一种常见的Web攻击方式之一,攻击者通过特定的输入方式绕过程序限制,访问到未授权的文件目录,以达到获取敏感信息、提权等目的。
目录遍历攻击的原理是利用程序对路径输入的解析方式,通过“../”等路径符号进行路径跳转,从而绕过程序对访问路径的限制。例如,对于以下代码样例:
path = "/var/www/html/" + request.GET.get("file", "")
f = open(path, "r")
如果用户传入的file参数值为“../../../etc/passwd”,那么实际上程序会打开的是“/etc/passwd”文件,因为“../”表示返回上层目录。
目录遍历攻击的场景非常广泛,任何需要处理文件路径的Web应用程序都可能受到攻击,例如:
为了防范目录遍历攻击,我们可以采用一些常见的防御措施: