2019测试指南-web应用程序安全测试(二)查看Web服务器图元文件的信息泄漏

让人想犯罪 __ 提交于 2019-11-29 11:01:51

本节介绍如何测试robots.txt文件以查找Web应用程序目录或文件夹路径的信息泄漏。此外,Spiders,Robots或Crawler要避免的目录列表也可以创建为应用程序的Map执行路径的依赖项(OTG-INFO-007)

 

测试目标

1. Web应用程序的目录或文件夹路径的信息泄漏。

2.创建Spiders,Robots或Crawlers要避免的目录列表。

 

如何测试

的robots.txt

Web Spider,Robots或Crawlers检索网页,然后递归遍历超链接以检索更多Web内容。他们接受的行为由web根目录[1]中robots.txt文件的机器人排除协议指定。 

例如,2013年8月11日http://www.google.com/robots.txt中抽取的robots.txt文件的开头引用如下:

用户代理: *  禁止:/搜索  禁止:/ 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”

从Web服务器的Web根目录检索robots.txt文件。例如,要使用“wget”或“curl”从www.google.com检索robots.txt:

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标签

<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中。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!