文件和目录测试主要是从服务器中的文件内容和目录方面测试服务器是否存在漏洞。主要需要 测试以下几方面的信息: 目录列表测试。 文件归档测试。 Web 服务器控制台测试。 Robots 文件接口查找。 使用工具对敏感接口进行遍历查找。
(1)目录列表测试。 目录列表可能造成信息泄漏,并且很容易被攻击,所以在测试过程中应该注意查找所有目录列 表可能存在的漏洞。 在测试过程中可以使用一些工具对 Web 服务器的目录列表进行测试。下面以 DirBuster 工具为 例,对目录进行测试。 DirBuster 是一个多线程 Java 应用程序,用于暴力破解 Web 服务器上的目录和文件。根据一个 用户提供的字典文件,DirBuster 会试图在应用中爬行,并且猜测非链接的目录和有特定扩展名的 文件。例如,如果应用使用 PHP,用户可以指定“php”为特定文件扩展名,DirBuster 将在每个爬 虫程序遇到的目录中猜测名为“字典中的词.php”的文件。DirBuster 能够递归扫描查找的新目录, 包括隐藏的文件和目录。 测试的条件是需要先在测试机上安装 JRE 和 DirBuster 软件,测试步骤如下: 第一步:运行 DirBuster.jar 程序。 第二步:在 Host 输入框中输入目标服务器的 IP 地址或域名,在 Port 输入框中输入服务器的端口,如果服务器只接受 HTTPS 请求,则需要在 Protocol 下拉列表中选择 HTTPS 协议,如图 12-11 所示。
第三步:单击 Browse 按钮,设置破解的字典库为 directory-list-2.3-small.txt。 第四步:取消选中 Brute Force Files 复选框。 第五步:单击右下角的 Start 按钮,开始目录查找。查找结束后会生成查找结果,如图 12-12 所示。 第六步:依次右击 Response 值为 200 的行(只有 Response 值为 200 才表示请求成功,其他的 都表示请求不成功),在弹出菜单中选择 Open In Browser 选项。 第七步:分析结果,所有 Response 值为 200 的目录均不能打印出文件列表。 (2)文件归档测试。 在网站管理员的维护过程中,经常会出现对程序或者页面进行备份的情况(有时备份并不一定 是有意的,也可能是无意的,如 UltraEdit 软件在修改后会自动生成一个后缀名为 bak 的文件)。攻 击者通过直接访问这些备份的路径可以下载文件。通常需要检查是否包含后缀名为.bak、.BAK、 .old、.OLD、.zip、.ZIP、.gz、.rar、.tar、.temp、.save、.backup、.orig、.000、.dwt 和.tpl 等格式的 文件。 文件归档测试的步骤如下: 第一步:进入 Web 服务器的后台操作系统。
第二步:通过命令进入可以通过 Web 方式访问到的目录,即客户端可以通过浏览器访问到的 目录(Tomcat 服务器的目录为$home/webapps)。 第三步:使用 find 命令查找当前目录下是否存在.bak、.BAK、.old、.OLD、.zip、.ZIP、.gz、 .rar、.tar、.temp、.save、.backup、.orig、.000、.dwt 和.tpl 后缀名的文件,命令格式为 Find ./ -name "*.后缀名"。例如查找包含后缀名为“.bak”的文件,命令如下: Find ./ -name "*.bak" 第四步:确定通过 Web 方式访问的目录,在开发过程中产生的临时文件、备份文件等。 (3)Web 服务器控制台测试。 不同的 Web 服务器,其控制台 URL 地址、默认账号、口令都不同,常见的 Web 服务器控制 台 URL 地址、默认账号和口令见表 12-8。
在浏览器中输入 Web 服务器控制台的 URL,查看 Web 服务器是否部署了控制台,如果部署了, 应该验证使用默认的账号、口令是否能登录,如果能登录成功,说明服务器存在漏洞。一般情况下 不需要部署 Web 服务器的控制台,如果部署了,那么最起码应该保证使用弱口令不能登录,而必 须是强口令。 (4)Robots 文件接口查找。 搜索引擎蜘蛛访问网站时,会先看网站根目录下是否存在一个名为 Robots.txt 的纯文本文件, Robots.txt 是用于指令搜索引擎禁止抓取网站某些内容,这样可以通过 Robots.txt 文件保护相关文 件或目录名称。如果 Robots.txt 文件不存在,搜索引擎蜘蛛可以访问网站上所有没有被口令保护的 页面或文件。那么当网站根目录下存在 Robots.txt 时,应该注意该文件中不能存在一些敏感的文件 接口。 通过浏览器访问 Robots.txt 文件的格式为http://www.exmaple.com/robots.txt,如 http://192.168.1.1/ robots.txt,返回如图 12-13 所示的内容。
检查 Robots.txt 文件中是否包含一些敏感的目录或文件(如敏感目录/employee/salary_files、敏 感文件/sys_manager/setup.jsp)。如果存在,系统则存在风险。 (5)使用工具对敏感接口进行遍历查找。 使用工具对敏感接口进行遍历查找主要是通过工具对 Web 服务器中的目录或文件接口进行遍 历,检查是否有对外的明显的链接,使用工具可以对一系列目录或文件接口进行枚举访问,可以指 定检查文件的类型,以确定 Web 系统是否存在漏洞。同样可以使用 DirBuster 对目录或文件接口进 行遍历查找,步骤如下: 第一步:首先安装 JRE 和 DirBuster 软件。 第二步:运行 DirBuster.jar 程序。 第三步:在 Host 输入框中输入目标服务器的 IP 地址或域名,在 Port 输入框中输入服务器的端 口,如果服务器只接受 HTTPS 请求,则需要在 Protocol 下拉列表中选择 HTTPS 协议。 第四步:单击 Browse 按钮,设置破解的字典库为 directory-list-2.3-small.txt。 第五步:在 File extension 输入框中输入用于设置等查找文件的后缀名,默认值为 php,如果需 要查找 html 文件,可以将该选项值设置为 html。 第六步:单击右下角的 Start 按钮,运行结束后,生成的结果如图 12-14 所示。 单击图 12-14 中的 Report 按钮,可以生成相应的报告,查找报告中是否有对外开发的敏感接 口文件。