2019測試指南-web應用程式安全測試(二)檢視Web伺服器圖元檔案的資訊洩漏
本節介紹如何測試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
使用者代理: *
在不允許指令指定哪些資源蜘蛛/機器人/爬蟲禁止。在上面的示例中,禁止使用以下目錄:
...
禁止:/搜尋
禁止:/ 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中。<