我发现了一个路径遍历漏洞,它允许我读取服务器上不需要的任何路径sudo。
为了充分利用这一点,我想知道每个目录中存在哪些文件,以便我可以阅读它们。
换句话说,我可以做cat /any/path,但ls /any/path也做不到sudo cat /any/path。那么我怎样才能为他们找到尽可能多的文件cat(不尝试所有可能性......)
读取 dev 或 proc 等特殊文件,或大多数 Linux 发行版上存在的文件是可以的。例如,如果我可以读取locates/var/lib/mlocate/mlocate.db数据库,问题将得到解决:但我不能,因为我没有sudo.
如果没有列出所有文件的理想答案,我也对列出大量现有文件的答案感兴趣。
在这个特定的实例中,遍历发生在远程 VM 内部,因此权限提升本身并不是主要目标:我感兴趣的是可能在 VM 上找到的机密源代码。但也欢迎非常常见的权限提升路径,因为它们mlocate不仅可以直接在其他系统中使用,而且可以解决问题。
更准确地说,在我的案例中,系统是基于推送 Git 服务的构建,类似于 GitHub / GH 页面(假设每个 Jekyll 构建都运行在我不知道的 VM 上)。提到这一点,因为它当然已经被供应商修复了 :) 是我创建了 Git 存储库:那是攻击向量,所以阅读 Git 存储库并不是很有趣。