2019測試指南-web應用程序安全測試(二)查看Web服務器圖元文件的信息泄漏

本節介紹如何測試robots.txt文件以查找Web應用程序目錄或文件夾路徑的信息泄漏。此外,Spiders,Robots或Crawler要避免的目錄列表也能夠建立爲應用程序的Map執行路徑的依賴項(OTG-INFO-007)php

 

測試目標

1. Web應用程序的目錄或文件夾路徑的信息泄漏。html

2.建立Spiders,Robots或Crawlers要避免的目錄列表。git

 

如何測試

的robots.txt

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標籤

<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「」以下所示: 
CMLH-Meta Tag示例-Face-Aug 2013.png 

以上可能被視爲失敗,由於「INDEX,FOLLOW」是由「機器人排除協議」指定的默認<META>標籤,但「disallow:/ac.php」列在robots.txt中。

相關文章
相關標籤/搜索