是否可以从 Linux shell 列出给定网站目录中的所有文件和目录?
类似于:
ls -l some_directory
但some_directory
不是 ,而是ls -l http://www.some_site.com/some_directory/
。显然,后者行不通。
答案1
我刚才也在想同样的事情。以下可能不是最有效的解决方案,但它似乎有效。它在本地重新创建 Web 服务器的目录结构。(通过以下方式找到第一个命令堆栈溢出)
wget --spider -r --no-parent http://some.served.dir.ca/
ls -l some.served.dir.ca
答案2
是的,有可能。有时。
当您浏览网页(例如http://demo.domain.tld/testdir/index.html
)时,它将打开您指定的文件(在本例中为“index.html”。
如果您未指定文件且存在默认文件(例如,Web 服务器配置为显示 index.html 或 index.php,...),并且您输入了文件,http://demo.domain.tld/testdir/
那么它将自动地向您提供正确的文件。
如果该文件不存在,那么它可以做其他事情,例如列出目录内容。这在构建网站时非常有用,但从安全角度来看,这也是不明智的。
TL;DR:是的,有时是可能的。
然而,更实用的方法是简单地通过 SSH、[s]FTP 或 RDP 连接到 Web 服务器并发出本地目录列表命令。
答案3
无递归
lftp -e "cls -1 > /tmp/list; exit" "https://cloud-images.ubuntu.com/xenial/current/"
cat /tmp/list
答案4
我认为 URL 模糊测试就是您要找的东西。 Pentest 工具提供了一个简单的解决方案,但它们确实要求您拥有搜索权限。 可能是为了减少黑客攻击。 这是一个在线解决方案。
https://pentest-tools.com/website-vulnerability-scanning/discover-hidden-directories-and-files
否则,请下载并安装 Kali Linux。每个人都认为它是为黑客准备的,但如果你是专业的网站建设者,我认为拥有它会很好。本质上,这个问题问的是“如何创建”类似站点地图的东西,大多数域名都提供站点地图。
或者,尝试 Arch Linux 解决方案。 https://blackarch.org/fuzzer.html