什么是目录遍历?
目录遍历(也称为文件路径遍历)是一个 Web 安全漏洞,允许攻击者读取运行应用程序的服务器上的任意文件。这可能包括应用程序代码和数据、后端系统的凭据以及敏感的操作系统文件。在某些情况下,攻击者可能能够写入服务器上的任意文件,从而允许他们修改应用程序数据或行为,并最终完全控制服务器。
思路来源:
考虑一个显示待售商品图像的购物应用程序。图像通过一些HTML加载,如下所示:
<img src="/loadImage?filename=218.png">
URL 采用一个参数并返回指定文件的内容。映像文件本身存储在磁盘上的位置 。要返回图像,应用程序会将请求的文件名追加到此基目录,并使用文件系统 API 读取文件的内容。在上述情况下,应用程序从以下文件路径读取:loadImage
filename
/var/www/images/
/var/www/images/218.png
应用程序不实现对目录遍历攻击的防御,因此攻击者可以请求以下 URL 从服务器的文件系统中检索任意文件: