本章节主要讲解“软件测试的文件和目录测试”的内容,文件和目录测试主要是从服务器中的文件内容和目录方面测试服务器是否存在漏洞。
主要需要测试以下几方面的信息:
目录列表测试。
文件归档测试。
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所示。
图12-11 DirBuster 主界面
第三步:单击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 服务器的后台操作系统。
图12-12 查找结果
第二步:通过命令进入可以通过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。
表12-8 常用Web 服务器控制台信息
在浏览器中输入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 所示的内容。
图12-13 Robots.txt 文件内容
检查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 按钮,可以生成相应的报告,查找报告中是否有对外开发的敏感接口文件。
图12-14 运行后的结果
本章节关于“软件测试的文件和目录测试”的内容就学习到这里,大家举得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。