對遠程分析IIS設置的簡單概述(1) |
發布時間: 2012/7/4 15:17:30 |
以下的文章主要是闡述遠程分析IIS設置,提及微軟公司IIS web服務器的安全問題,大多數人立刻就會聯想到那些為人們致命的稱頌,kidding的最愛了,利用他們可以很輕松的拿到較高的系統權限。
但是這篇文章并非是討論這些致命的漏洞的,只是比較詳細的介紹了如何遠程判斷IIS 服務器的各種設置,如目錄權限,認證方法等等,文中有些東西已經很老了,但是新的東西還是值得一看的。希望本文能夠起到一個拋磚引玉的作用。好了,廢話少說,Go~! 遠程確定目錄權限 讓我們打開一個IIS服務器來看看。在IIS 服務管理器中,選擇一個目錄,看他的屬性 在目錄屬性項有有這么一些選項(日志訪問和索引此資源不計): 腳本資源訪問: 對網站的腳本可以讀取原文件。 讀取 讀取目錄里面的靜態資源。 寫入 用戶可以建立以及刪除資源 目錄瀏覽 用戶可以瀏覽目錄內容。 應用程序設置的執行許可中有三個選項: 無 只能訪問靜態頁面 純腳本只允許允許腳本 如ASP腳本 腳本和可執行程序 可以訪問和執行各種文件類型 那么,如何確定服務器上面的這些開關設置呢?別著急,一個一個來。 執行權限 如何確定某個目錄是否開了執行權限呢?很簡單,向服務器發送一個下面得請求: http://iis-server/dir/no-such-file.dll /dir/為要判斷得目錄,no-such-file.dll是隨便取得一個名字,服務器上面沒有這個文件。 服務器對我們得請求會返回一個信息。如果返回的是一個500錯誤: HTTP 500 - 內部服務器錯誤 (Internal Server error) 那么就說明這個目錄的執行權限是開著的。對于服務器,能不開執行權限的就不要開。特別是虛擬目錄的執行權限,大家想一想UNICODE和二次解碼漏洞的利用過程就明白了。 如果服務器返回的是一個 404 錯誤: HTTP 404 - 未找到文件 那么就說明這個目錄的執行權限沒有開。 寫權限 測試一個目錄對于web用戶是否具有寫權限,采用如下方法: telnet 到服務器的web端口(80)并發送一個如下請求: PUT /dir/my_file.txt HTTP/1.1 Host: iis-server Content-Length: 10 這時服務器會返回一個100( 繼續)的信息: HTTP/1.1 100 Continue Server: Microsoft-IIS/5.0 Date: Thu, 28 Feb 2002 15:56:00 GMT 接著,我們輸入10個字母: AAAAAAAAAA 送出這個請求后,看服務器的返回信息,如果是一個 201 Created響應: HTTP/1.1 201 Created Server: Microsoft-IIS/5.0 Date: Thu, 28 Feb 2002 15:56:08 GMT Location: http://iis-server/dir/my_file.txt Content-Length: 0 Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK 那么就說明這個目錄的寫權限是開著的,反之,如果返回的是一個 403 錯誤,那么寫權限就是 沒有開起來,如果需要你認證,并且返回一個 401(權限禁止) 的響應的話,說明是開了寫權限,但是匿名用戶不允許。如果一個目錄同時開了”寫”和“腳本和可執行程序”的話,那么web用戶就可以上傳一個程序并且執行它,恐怖哦%^#$!~ 純腳本執行權限 這樣的目錄就太多了。很多不需要給執行權限的目錄也被管理員給了腳本執行權限,我記得在shotgun的一篇文章里面他說過:最小的權限+最少的服務= 最大的安全 ;一點也沒有錯。給目錄任何多余的權限都是沒有必要的。判斷一個目錄是否可以執行純腳本文件也很簡單,發送一個如下一個請求: http://iis-server/dir/no-such-file.asp 返回404文件不存在說明有執行權限,返回403則是沒有開。 本文出自:億恩科技【www.laynepeng.cn】 |