目录遍历 |
您所在的位置:网站首页 › burpsuite英文发音 › 目录遍历 |
写在前面
官方链接:https://portswigger.net/web-security/file-path-traversal 在解释知识点时,一部分对官方解释进行了引用,另一部分对具体解题加入了自己的想法,注意甄别。那么,开始吧。 考虑一个显示待售商品图像的购物应用程序。图像通过一些 HTML 加载,如下所示: loadImageURL 接受一个参数并返回指定文件 的filename内容。图像文件本身存储在磁盘中的位置/var/www/images/。要返回图像,应用程序将请求的文件名附加到此基本目录并使用文件系统 API 来读取文件的内容。在上述情况下,应用程序从以下文件路径读取: /var/www/images/218.png该应用程序没有针对目录遍历攻击实施任何防御措施,因此攻击者可以请求以下 URL 从服务器的文件系统中检索任意文件: https://insecure-website.com/loadImage?filename=../../../etc/passwd这会导致应用程序从以下文件路径读取: /var/www/images/../../../etc/passwd该序列…/在文件路径中有效,意味着在目录结构中上一级。三个连续的…/序列从/var/www/images/文件系统的根目录开始,所以实际读取的文件是: /etc/passwd在基于 Unix 的操作系统上,这是一个标准文件,其中包含在服务器上注册的用户的详细信息。 在 Windows 上,../和..\都是有效的目录遍历序列,检索标准操作系统文件的等效攻击是: https://insecure-website.com/loadImage?filename=..\..\..\windows\win.ini File path traversal, simple case
由于是在iamge下进行请求,向上返回三级依次就能到达,www,var,/ 许多将用户输入放置到文件路径中的应用程序实现了某种针对路径遍历攻击的防御,并且这些通常可以被规避。 如果应用程序从用户提供的文件名中剥离或阻止目录遍历序列,则可以使用多种技术绕过防御。 在不能够使用相对路径的情况下,也许可以使用来自文件系统根目录的绝对路径,例如filename=/etc/passwd直接引用文件,而无需使用任何遍历序列。 发现敏感api 发现敏感api 在某些情况下,例如在 URL 路径或请求filename参数中multipart/form-data,Web 服务器可能会在将您的输入传递给应用程序之前剥离任何目录遍历序列。您有时可以通过 URL 编码,甚至双重 URL 编码,绕过这种清理,这些…/字符分别产生%2e%2e%2f或%252e%252e%252f。各种非标准编码,例如…%c0%afor …%ef%bc%8f,也可以解决问题。 探测到敏感api 如果你使用的是burpsuite professional 可以直接照做下面的方法。
探测敏感api 这个场景是请求时必须包含规定的后缀(这里时 .jpg) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |