路径遍历 路径(目录)遍历是一种漏洞,攻击者可以访问或存储应用程序位置之外的文件和目录。这可能导致从其他目录读取文件,并在文件上传的情况下覆盖关键系统文件。
它是如何工作的? 例如,假设我们有一个托管一些文件的应用程序,格式如下:http://example.com/file=report.pdf。作为攻击者,你自然会对其他文件感兴趣,于是你尝试访问 http://example.com/file=../../../../../etc/passwd。在这种情况下,你尝试向上遍历到文件系统的根目录,然后进入 /etc/passwd 以访问此文件。../ 被称为点点斜杠,这是这种攻击的另一种名称。
当然,这只是一个简单的例子,在大多数情况下,这种方法可能无效,因为框架已经实现了控制措施。所以我们需要稍微有些创造性,并在请求发送到服务器之前对 ../ 进行编码。
此外,请注意,避免应用程序过滤这些编码时,双重编码可能也会奏效。当你有一个系统 A 调用系统 B 时,双重编码可能是必要的。系统 A 只解码一次,然后使用仍然编码的 URL 调用 B。