安全提示:IIS不要開啟“WebDAV”擴展(轉載)
在IIS設置裏,有一個“Web服務擴展”的設置,其中包括“WebDAV”擴展。許多人都不明白,這個“WebDAV”擴展是幹嘛用的,要不要開啟呢?有不少人的想法是“開啟吧,以免影響網站運行,啟用總比不啟用好”。其實,這些人的想法是錯誤的,我們在設置服務器時,基本原則是啟用的服務越少越好,能不啟用就不啟用,在不了解某一服務時,千萬不要開啟它。為什麽呢?因為那怕是一個小小的不經意的配置失誤,都可能造成整臺服務器被人入侵而淪陷。而“WebDAV”擴展就屬於此類高風險的服務,絕對不能輕易開啟,除非你對此服務已經相當熟悉,且做好了足夠的安全設置。
在IIS中安裝“WebDAV”擴展:
安裝後就會在IIS中出現“WebDAV 創作規則”模塊:
了解“WebDAV”擴展
WebDAV是一種基於 HTTP 1.1協議的通信協議,它擴展了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標準方法以外添加了一些新的方法。使應用程序可直接對Web Server直接讀寫,並支持寫文件鎖定(Locking)及解鎖(Unlock),還可以支持文件的版本控制。
IIS實現Webdav是采用它的兩種接口:CGI、ISAPI的ISAPI接口。
配置“WebDAV”擴展
為了安全上的考慮,IIS默認並不會啟動WebDAV的功能,因此必須另外來激活它。
通過啟動“IIS管理器”,展開本地計算機,選擇“Web服務擴展”,選擇“允許”的途徑來啟動WebDAV功能。
開啟WebDAV之後,IIS就支持PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK等方法了。
“WebDAV”擴展的危害
當開啟了WebDAV後,IIS中又配置了目錄可寫,便會產生很嚴重的問題,由此配置產生的問題很多,並且有老外黑了一群中國政府站有一部分就是由於此配置。 危害巨大,操作簡單,直接批量掃描,上傳shell。
測試IIS的put漏洞
演示用的是新裝的Win2003虛擬機,IIS采用的默認的設置,勾選上了主目錄標簽頁下的“寫入”復選框。
對服務器發送OPTION包:
返回響應頭如下:
HTTP/1.1 200 OK Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET MS-Author-Via: DAV Content-Length: 0 Accept-Ranges: none DASL: <DAV:sql> DAV: 1, 2 Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH Allow: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK Cache-Control: private
當ALLOW中包含如上方法時,可以確定服務器開啟了WebDAV。
此時可以用PUT上傳文件,但是不可以直接上傳可執行腳本文件,可以先上傳一個其他類型的文件,然後MOVE成腳本文件。
啟用了“WebDAV”擴展,並且復選了“寫入”,就可以寫入txt文件了。要想使用MOVE命令將其更名為腳本文件後綴,必須還復選上“腳本資源訪問”。
但是發現利用IIS的解析漏洞,可以MOVE成test.asp;.jpg,然後就可以當做shell來執行了。
測試NTFS權限的設置是否能夠對IIS的寫權限產生影響
測試一:
站點根目錄設置IIS匿名帳戶的權限為允許“讀取和運行,列出文件夾目錄,讀取”,其它未勾選。經測試,可以成功PUT寫入文件。
測試二:
站點根目錄設置IIS匿名帳戶的權限為允許“讀取和運行,列出文件夾目錄,讀 取”,並且勾選禁止“寫入”。經測試,可以PUT寫入文件失敗。
返回報文如下:
HTTP/1.1 401 Unauthorized Content-Length: 75 Content-Type: text/html Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Date: Fri, 01 Jan 2010 08:33:09 GMT <html><head><title>Error</title>< /head><body>錯誤: 拒絕訪問。</body></html> 註釋:寫入操作被 拒絕。
總結:不要開啟“WebDAV”擴展
(1)如果沒有啟用“WebDAV”擴展,OPTIONS命令是無法查看IIS支持的方法集合 的。即便是復選上了“寫入”,仍然無法寫入txt文件(asp的當然也不行)。
(2)啟用了“WebDAV”擴展,並且復選了“寫入”,就可以寫 入txt文件了。要想使用MOVE命令將其更名為腳本文件後綴,必須還復選上“腳本資源訪問”。
(3)只有設置了IIS匿名帳戶禁止“寫入”的 NTFS權限,才能拒絕寫入。註意:這個拒絕寫入的權限是大家很容易忽視的,如果未設置,還是可以成功寫入文件的。它並不單單是針對IIS寫權限的,測試發現,如果沒有禁止寫入,腳本木馬還是可以創建和修改文件的。
原文鏈接
安全提示:IIS不要開啟“WebDAV”擴展(轉載)