【IT168 技术文档】当我们进行安全渗透测试的时候,首先要做的就是尽可能多地收集目标应用程序信息,所以,信息搜集是渗透测试一个必不可少的步骤。这项任务可以通过多种不同的方式来完成,通过使用搜索引擎、扫描器、发送简单的HTTP请求或者专门精心制作的请求,都有可能导致应用程序泄漏诸如错误信息、版本信息以及所使用的技术等信息。
一、测试robots.txt文件
现在,我们首先介绍如何测试robots.txt文件。Web蜘蛛/机器人/爬虫可以用来检索网页,并沿着超链接进一步探索更多、更深的Web内容。当然,网站可以在根目录放上一个robots.txt文件,这样就可以规定哪些Web蜘蛛行为是站点可以接受的,那些是禁止的。
举例来说,我们可以看一下http://www.google.com/robots.txt的内容片断:
User-agent: *
Allow: /searchhistory/
Disallow: /news?output=xhtml&
Allow: /news?output=xhtml
Disallow: /search
Disallow: /groups
Disallow: /images
...
伪指令User-Agent表示具体的Web蜘蛛/机器人/网络爬虫。例如User-Agent:Googlebot 表示GoogleBot网络爬虫,而User-Agent:* 泛指所有的Web蜘蛛/机器人/网络爬虫:
User-agent: *
伪指令Disallow的作用是规定哪些资源对蜘蛛/机器人/网络爬虫来说是禁用的。在上面的例子中,禁止蜘蛛访问下列目录:
...
Disallow: /search
Disallow: /groups
Disallow: /images
...
Web蜘蛛/机器人/网络爬虫可以故意忽略robots.txt文件中的“禁令”。因此,不要把robots.txt当成是限制第三方访问、存储或者转帖web内容的灵丹妙药。
下面是针对robots.txt文件的黑盒子测试及用例:
Wget
Robots.txt文件可以从Web服务器的web根目录下找到。比如,可以使用wget检索www.google.com站点中的robots.txt,如下所示:
$ wget http://www.google.com/robots.txt
--23:59:24-- http://www.google.com/robots.txt=> 'robots.txt'
Resolving www.google.com... 74.125.19.103, 74.125.19.104, 74.125.19.147, ...
Connecting to www.google.com|74.125.19.103|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain][ <=> ] 3,425 --.--K/s
23:59:26 (13.67MB/s) - 'robots.txt' saved [3425]
使用Google Webmaster Tools分析robots.txt
Google的Google Webmaster Tools提供了一个robots.txt分析功能,所以,在渗透测试时我们可以利用它来分析robots.txt,具体方法如下所示:
1. 用Google帐户登陆Google Webmaster Tools。
2. 在Dashboard上,单击想要分析的站点URL。
3. 单击Tools按钮,然后单击Analyze robots.txt。