本节介绍如何测试robots.txt文件以查找Web应用程序目录或文件夹路径的信息泄漏。此外,Spiders,Robots或Crawler要避免的目录列表也能够建立为应用程序的Map执行路径的依赖项(OTG-INFO-007)php
1. Web应用程序的目录或文件夹路径的信息泄漏。html
2.建立Spiders,Robots或Crawlers要避免的目录列表。git
Web Spider,Robots或Crawlers检索网页,而后递归遍历超连接以检索更多Web内容。他们接受的行为由web根目录[1]中robots.txt文件的机器人排除协议指定。 github
例如,2013年8月11日http://www.google.com/robots.txt中抽取的robots.txt文件的开头引用以下:web
用户代理: * 禁止:/搜索 禁止:/ sdch 禁止:/ groups 禁止:/ images 禁止:/目录 ...
该用户代理的指令是指特定的网络蜘蛛/机器人/爬虫。例如,User-Agent:Googlebot是指来自Google的蜘蛛,而“User-Agent:bingbot” [1]是指来自Microsoft / Yahoo!的爬虫。 上述示例中的User-Agent:*适用于如下引用的全部网络蜘蛛/机器人/抓取工具[2]:正则表达式
用户代理: *
在不容许指令指定哪些资源蜘蛛/机器人/爬虫禁止。在上面的示例中,禁止使用如下目录:服务器
... 禁止:/搜索 禁止:/ sdch 禁止:/ groups 禁止:/ images 禁止:/目录 ...
网络蜘蛛/机器人/抓取工具能够故意忽略robots.txt文件[3]中指定的Disallow指令,例如来自社交网络[2]的指令,以确保共享连接仍然有效。所以,robots.txt不该被视为对第三方访问,存储或从新发布Web内容的方式实施限制的机制。 网络
webroot中的robots.txt - 带有“wget”或“curl”app
从Web服务器的Web根目录检索robots.txt文件。例如,要使用“wget”或“curl”从www.google.com检索robots.txt:curl
cmlh $ wget http://www.google.com/robots.txt --2013-08-11 14:40:36-- http://www.google.com/robots.txt 解析www.google.com ... 74.125.237.17,74.125.237.18,74.125.237.19,... 链接到www.google.com | 74.125.237.17 |:80 ...已链接。 发送HTTP请求,等待响应... 200 OK 长度:未指定[text / plain] 保存到:'robots.txt.1' [<=>] 7,074 - .- K / s为0 2013-08-11 14:40:37(59.7 MB / s) - 'robots.txt'已保存[7074] cmlh $ head -n5 robots.txt 用户代理: * 禁止:/搜索 禁止:/ sdch 禁止:/ groups 禁止:/ images cmlh $
cmlh $ curl -O http://www.google.com/robots.txt %总收到百分比%Xferd平均速度时间时间当前时间 Dload上载总左转速度 101 7074 0 7074 0 0 9410 0 - : - : - - : - : - - : - : - 27312 cmlh $ head -n5 robots.txt 用户代理: * 禁止:/搜索 禁止:/ sdch 禁止:/ groups 禁止:/ images cmlh $
webroot中的robots.txt - 使用rockspider
“rockspider” [3]自动建立Spiders / Robots / Crawler的网站文件和目录/文件夹的初始范围。
例如,要使用“rockspider” [4]从www.google.com建立基于Allowed:指令的初始范围:
cmlh $ ./rockspider.pl-www www.google.com “Rockspider”Alpha v0.1_2 版权全部2013 Christian Heinrich 根据Apache许可证2.0版得到许可 1.下载http://www.google.com/robots.txt 2.“robots.txt”保存为“www.google.com-robots.txt” 3.发送容许:www.google.com的URI到Web代理,即127.0.0.1:8080 / catalogs / about sent /目录/ P?发送 / news /目录已发送 ... 完成了。 cmlh $
使用Google网站管理员工具分析robots.txt
网站全部者可使用Google“Analyze robots.txt”功能将网站分析为“Google网站管理员工具”(https://www.google.com/webmasters/tools)的一部分。该工具能够协助测试,程序以下:
1.使用Google账户登陆Google网站站长工具。
2.在仪表板上,写入要分析的站点的URL。
3.在可用方法之间进行选择,而后按照屏幕上的说明操做。
<META>标签位于每一个HTML文档的HEAD部份内,而且在机器人/蜘蛛/爬虫起点不是从webroot之外的文档连接开始的状况下,应该在网站上保持一致,即“深度连接” “ [5]。
若是没有“<META NAME =”ROBOTS“...>”条目,则“机器人排除协议”分别默认为“INDEX,FOLLOW”。所以,“机器人排除协议”定义的其余两个有效条目的前缀为“NO ...”,即“NOINDEX”和“NOFOLLOW”。
网络蜘蛛/机器人/爬虫能够故意忽略“<META NAME =”ROBOTS“”标签,由于首选robots.txt文件约定。所以,<META>标签不该被视为主要机制,而是robots.txt的补充控制。
<META>标签 - 与Burp
根据webroot中robots.txt文件中列出的Disallow指令,在每一个网页中搜索“<META NAME =”ROBOTS“”正则表达式,并将结果与webroot中的robots.txt文件进行比较。
例如,来自facebook.com的robots.txt文件有一个“Disallow:/ac.php”条目[6],结果搜索“<META NAME =”ROBOTS“”以下所示:
以上可能被视为失败,由于“INDEX,FOLLOW”是由“机器人排除协议”指定的默认<META>标签,但“disallow:/ac.php”列在robots.txt中。