是否可以获取网站目录下的文件列表?如何?

Posted

技术标签:

【中文标题】是否可以获取网站目录下的文件列表?如何?【英文标题】:Is it possible to get a list of files under a directory of a website? How? 【发布时间】:2011-04-29 22:30:14 【问题描述】:

假设我有一个网站www.example.com。在网站目录下有一个页面secret.html。它可以像www.example.com/secret.html一样直接访问,但是没有链接到它的页面。是否有可能发现此页面,还是对外界保持隐藏?

【问题讨论】:

“隐藏”可能不是最好的词,尤其是在与任何可能的企业主/用户/等讨论时。也许是“未做广告”? 这道题不是编程题,今天问到这里就跑题了。此类问题应在Webmasters 提出。 【参考方案1】:

如果您在网络服务器中禁用了目录列表,那么别人找到它的唯一方法就是猜测或找到指向它的链接。

也就是说,我已经看到黑客脚本试图“猜测”一大堆这些常用名称。 secret.html 可能会在这样的猜测列表中。

更合理的解决方案是使用用户名/密码通过 htaccess 文件(对于 apache)或您正在使用的任何网络服务器的等效设置来限制访问。

【讨论】:

启用/禁用 IIS 中的目录浏览:technet.microsoft.com/en-us/library/cc731109(WS.10).aspx【参考方案2】:

只有两种方法可以找到网页:通过链接或列出目录。

通常,网络服务器禁用目录列表,所以如果页面确实没有链接,则无法找到。

但是:有关页面的信息可能会以您意想不到的方式泄露出去。例如,如果使用 Google 工具栏的用户访问您的页面,那么 Google 可能会知道该页面,并且它可以出现在其索引中。这将是您页面的链接。

【讨论】:

Google 工具栏似乎很有帮助。然后,您可以使用高级 Google 搜索查询来搜索文件。就我而言,我想知道特定网站上是否有更多 pdf 文件。上面关于工具栏的评论触发了我搜索:“site: filetype:pdf”。瞧,我得到了所有 pdf 的 :)【参考方案3】:

是的,您可以,但您首先需要一些工具。如果有.htaccess file. 的话,你需要了解一些基本的编码、FTP 客户端、端口扫描器和暴力破解工具。

如果不只是尝试 tgp.linkurl.htm 或 html,即 default.htmlwww/home/siteurl/web/wap /index/ default /includes/ main/ files/ images/ pics/ vids/,可能是服务器上可能的文件位置,因此请尝试所有这些位置,以便 www/home/siteurl/web/includes/.htaccess 或 @987654326 @。尝试几次后,您会找到一个文件,然后再解决。雅虎也有站点文件查看器:您可以尝试扫描站点文件索引。

或者,尝试使用 brutus aet、trin00、trinity.x 或 whiteshark airtool 来破解站点的 FTP 登录(但这是非法的,我不容忍)。

【讨论】:

【参考方案4】:

DirBuster 就是这样一个黑客脚本,它可以猜测 nsanders 提到的一堆常用名称。它从字面上暴力破解常用单词和文件结尾(.html、.php)的列表,并随着时间的推移计算出此类站点的目录结构,这可能会发现您所描述的页面,但也会发现许多其他页面。

【讨论】:

请尝试回答问题Is it possible to get a list of files under a directory of a website? How?,而不是仅仅描述商业解决方案。试着理解它似乎是广告。 关于问题本身,有一些软件解决方案旨在“读取”域并在其上搜索以找到根、扩展......这种软件解决方案被称为spider:蜘蛛是一个程序,它访问网站并读取其页面和其他信息,以便为搜索引擎索引创建条目【参考方案5】:

如果网站的目录没有“index....”文件,并且 .htaccess 没有被用来阻止对该目录本身的访问,那么 Apache 将为该目录创建一个“index of”页面。您可以使用“将页面另存为...”以及“网页,完成”选项(Firefox 示例)来保存该页面及其图标。如果您拥有该网站,请暂时重命名任何“index....”文件,并在本地引用该目录。然后恢复你的“index....”文件。

【讨论】:

【参考方案6】:

任何爬虫或蜘蛛都会读取您在网络上公开的index.htm 或等效项,它们将读取该页面的源代码,并找到与该网页相关联并包含子目录的所有内容。如果他们找到 “联系我们” 按钮,则可能包含处理联系我们操作的网页或 php 的路径,因此他们现在有一个要抓取的子目录/文件夹名称并挖掘更多。但即便如此,如果该文件夹有index.htm 或等效文件,它也不会列出该文件夹中的所有文件。

如果程序员错误地从未在此类文件夹中包含index.htm 文件,那么所有文件都将列在您的计算机屏幕上,并供爬虫/蜘蛛继续挖掘。但是,如果您创建了一个文件夹 www.yoursite.com/nombresinistro75crazyragazzo19/ 并在其中放置了几个文件,并且从未发布任何按钮或从未在网络中的任何地方公开该文件夹地址,只保留在您的脑海中,那么很可能没有人会找到该路径,爬虫或蜘蛛,更复杂的可以。

当然,除非他们可以进入您的 FTP 或访问您的站点控制面板。

【讨论】:

以上是关于是否可以获取网站目录下的文件列表?如何?的主要内容,如果未能解决你的问题,请参考以下文章

golang 获取指定目录下的子文件列表

如何从为目录列表打开的目录中获取文件?

如何在 Python 中使用 os.walk 获取特定文件或目录列表?

powershell 这将使用power shell获取特定SharePoint网站集下的所有子网站的列表。第二个文件获取我们的子站点

python如何实现定时遍历目录,每次把目录下的最新的文件放到列表里?

如何获取 zip 文件中所有目录的列表