基本介绍
目录遍历漏洞是一种常见的安全漏洞,也称为目录穿越漏洞,目录遍历漏洞是指攻击者通过构造恶意请求绕过应用程序的访问控制机制,访问本不应该被访问的文件或目录从而导致服务器受到攻击,攻击者可以通过目录遍历漏洞访问应用程序所在的系统的任意文件,例如:配置文件、密码文件等,目录遍历漏洞通常出现在Web应用程序中,例如:Web服务器的目录遍历漏洞可以通过HTTP协议发送请求访问服务器上的文件
原理介绍
下面我们考虑一个显示待售商品图像的购物应用程序,图像通过一些HTML加载,如下所示
<img src="/loadImage?filename=218.png">
这里的loadImage URL接受一个文件名参数并返回指定文件的内容,图像文件本身存储在磁盘上的/var/www/images/位置,为了返回图像应用程序将请求的文件名附加到这个基本目录并使用文件系统API来读取文件的内容,在上面的例子中应用程序从以下文件路径读取:
/var/www/images/218.png
该应用程序没有针对目录遍历攻击实施任何防御措施,因此攻击者可以请求以下URL从服务器的文件系统中检索任意文件:
https