1. 程式人生 > >2019測試指南-web應用程式安全測試(二)檢視Web伺服器圖元檔案的資訊洩漏

2019測試指南-web應用程式安全測試(二)檢視Web伺服器圖元檔案的資訊洩漏

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

本節介紹如何測試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“”如下所示: 
CMLH-Meta Tag示例-Face-Aug 2013.png 

以上可能被視為失敗,因為“INDEX,FOLLOW”是由“機器人排除協議”指定的預設<META>標籤,但“disallow:/ac.php”列在robots.txt中。<