遠(yuǎn)程分析win2003 IIS安全設(shè)置第1/2頁(yè)
win2003 IIS安全設(shè)置遠(yuǎn)程確定目錄權(quán)限
讓我們打開(kāi)一個(gè)IIS服務(wù)器來(lái)看看。在IIS 服務(wù)管理器中,選擇一個(gè)目錄,看他的屬性
在目錄屬性項(xiàng)有有這么一些選項(xiàng)(日志訪問(wèn)和索引此資源不計(jì)):
腳本資源訪問(wèn): 對(duì)網(wǎng)站的腳本可以讀取原文件。
讀取 讀取目錄里面的靜態(tài)資源。
寫(xiě)入 用戶可以建立以及刪除資源
目錄瀏覽 用戶可以瀏覽目錄內(nèi)容。
win2003 IIS安全設(shè)置應(yīng)用程序設(shè)置的執(zhí)行許可中有三個(gè)選項(xiàng):
無(wú) 只能訪問(wèn)靜態(tài)頁(yè)面
純腳本 只允許允許腳本 如ASP腳本
腳本和可執(zhí)行程序 可以訪問(wèn)和執(zhí)行各種文件類(lèi)型
那么,如何確定服務(wù)器上面的這些開(kāi)關(guān)設(shè)置呢? 別著急,一個(gè)一個(gè)來(lái)。
執(zhí)行權(quán)限
如何確定某個(gè)目錄是否開(kāi)了執(zhí)行權(quán)限呢?很簡(jiǎn)單,向服務(wù)器發(fā)送一個(gè)下面得請(qǐng)求:
http://iis-server/dir/no-such-file.dll
/dir/為要判斷得目錄,no-such-file.dll是隨便取得一個(gè)名字,服務(wù)器上面沒(méi)有這個(gè)文件。
服務(wù)器對(duì)我們得請(qǐng)求會(huì)返回一個(gè)信息。如果返回的是一個(gè)500錯(cuò)誤:
HTTP 500 - 內(nèi)部服務(wù)器錯(cuò)誤 (Internal Server error)
那么就說(shuō)明這個(gè)目錄的執(zhí)行權(quán)限是開(kāi)著的。 對(duì)于服務(wù)器,能不開(kāi)執(zhí)行權(quán)限的就不要開(kāi)。特別是虛擬目錄的執(zhí)行權(quán)限,大家想一想U(xiǎn)NICODE和二次解碼漏洞的利用過(guò)程就明白了。
如果服務(wù)器返回的是一個(gè) 404 錯(cuò)誤:
HTTP 404 - 未找到文件
那么就說(shuō)明這個(gè)目錄的執(zhí)行權(quán)限沒(méi)有開(kāi)。
寫(xiě)權(quán)限
win2003 IIS安全設(shè)置測(cè)試一個(gè)目錄對(duì)于web用戶是否具有寫(xiě)權(quán)限,采用如下方法:
telnet 到服務(wù)器的web端口(80)并發(fā)送一個(gè)如下請(qǐng)求:
PUT /dir/my_file.txt HTTP/1.1
Host: iis-server
Content-Length: 10 <enter><enter>
這時(shí)服務(wù)器會(huì)返回一個(gè)100( 繼續(xù))的信息:
HTTP/1.1 100 Continue
Server: Microsoft-IIS/5.0
Date: Thu, 28 Feb 2002 15:56:00 GMT
接著,我們輸入10個(gè)字母:
AAAAAAAAAA
送出這個(gè)請(qǐng)求后,看服務(wù)器的返回信息,如果是一個(gè) 201 Created響應(yīng):
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
那么就說(shuō)明這個(gè)目錄的寫(xiě)權(quán)限是開(kāi)著的,反之,如果返回的是一個(gè) 403 錯(cuò)誤,那么寫(xiě)權(quán)限就是
沒(méi)有開(kāi)起來(lái),如果需要你認(rèn)證,并且返回一個(gè) 401(權(quán)限禁止) 的響應(yīng)的話,說(shuō)明是開(kāi)了寫(xiě)權(quán)限,但是匿名用戶不允許。 如果一個(gè)目錄同時(shí)開(kāi)了”寫(xiě)”和“腳本和可執(zhí)行程序”的話,那么web用戶就可以上傳一個(gè)程序并且執(zhí)行它,恐怖哦%^#$!~
純腳本執(zhí)行權(quán)限
這樣的目錄就太多了。很多不需要給執(zhí)行權(quán)限的目錄也被管理員給了腳本執(zhí)行權(quán)限,我記得在
shotgun的一篇文章里面他說(shuō)過(guò):最小的權(quán)限+最少的服務(wù)= 最大的安全 ; 一點(diǎn)也沒(méi)有錯(cuò)。給目錄任何多余的權(quán)限都是沒(méi)有必要的。判斷一個(gè)目錄是否可以執(zhí)行純腳本文件也很簡(jiǎn)單,發(fā)送一個(gè)如下一個(gè)請(qǐng)求:
http://iis-server/dir/no-such-file.asp
返回404文件不存在說(shuō)明有執(zhí)行權(quán)限,返回403則是沒(méi)有開(kāi)。
win2003 IIS安全設(shè)置瀏覽目錄權(quán)限
判斷一個(gè)目錄是否允許瀏覽可能需要一點(diǎn)點(diǎn)小技巧,但是,在網(wǎng)站的默認(rèn)首頁(yè)(如:default.asp)不存在的話,那么就再簡(jiǎn)單不過(guò)了。 在瀏覽器里面輸入:
http://iis-server/dir/
如果權(quán)限開(kāi)著的,那么會(huì)返回200響應(yīng),并且列出當(dāng)前目錄里面的內(nèi)容,反之,沒(méi)有列出目錄的話就是關(guān)了。 但是,如果默認(rèn)頁(yè)面default.asp存在呢?敲入上面的地址就直接打開(kāi)這個(gè)頁(yè)面了。別急,
WebDAV 里面有一個(gè)請(qǐng)求方法叫:PROFIND。這個(gè)方法使得我們可以從服務(wù)器資源里面得到一些如文件名,創(chuàng)建時(shí)間,最后修改時(shí)間等等的信息。利用它我們也可以繞過(guò) default.asp 來(lái)判斷目錄瀏覽權(quán)限的情況, telnet到IIS-server的web端口,發(fā)送如下請(qǐng)求:
PROPFIND /dir/ HTTP/1.1
Host: iis-server
Content-Length: 0
這時(shí),服務(wù)器會(huì)送回一個(gè)207 Multi Status的響應(yīng),如果目錄是允許瀏覽的,那么同時(shí)會(huì)列出目錄里面的資源以及他們的屬性。如果目錄瀏覽不允許,返回的信息就會(huì)少的多。目錄瀏覽一般來(lái)說(shuō)只能算是一個(gè)低危險(xiǎn)等級(jí)的漏洞,比如一個(gè)images目錄,里面除了圖片沒(méi)有別的東西了,那對(duì)于服務(wù)器的安全就沒(méi)有什么危害,但是,如果目錄里面放了一個(gè)管理頁(yè)面adminpage.asp或者一些數(shù)據(jù)庫(kù)連接信息文件,可能會(huì)導(dǎo)致你的服務(wù)器拱手相讓給入侵者。
讀權(quán)限
判斷這點(diǎn)很容易,發(fā)一個(gè)帶 txt文件的請(qǐng)求就可以:
http://iis-server/dir/no-such-file.txt
如果返回一個(gè) 404 文件不存在的響應(yīng),就說(shuō)明讀權(quán)限是開(kāi)著的,反正,返回403錯(cuò)誤則說(shuō)明都權(quán)限沒(méi)有開(kāi)。早幾年接觸安全的人一定知道 ::$DATA泄露ASP源代碼的漏洞,其實(shí)如果一個(gè)目錄里面權(quán)勢(shì)asp腳本的話,那么讀權(quán)限也可以不用開(kāi)的,ASP只需要腳本執(zhí)行權(quán)限就可以了。
IIS 認(rèn)證方法的判斷
這個(gè)漏洞是最近才公布出來(lái)的,IIS服務(wù)器支持匿名訪問(wèn),基本認(rèn)證和使用NTLM方式的windows集成認(rèn)證,如果客戶端發(fā)送一個(gè)包含認(rèn)證信息的請(qǐng)求,IIS就會(huì)強(qiáng)行的嘗試用這些認(rèn)證信息取認(rèn)證,并且放回不會(huì)的響應(yīng)。這樣我們就能夠確定IIS的認(rèn)證的配置。
要確定IIS是否支持基本認(rèn)證,可以telnet到服務(wù)器的80端口,發(fā)送如下請(qǐng)求:
GET / HTTP/1.1
Host: iis-server
Authorization: Basic c3lzdGVtOm1hbmFnZXIA
這是一個(gè)基本認(rèn)證的請(qǐng)求,里面包含了一個(gè)base 64編碼的用戶ID和PASS,Basic后面那串字符經(jīng)過(guò)base 64解碼以后就是 system:manager 。如果服務(wù)器返回一個(gè)401信息,則說(shuō)明基本認(rèn)證選項(xiàng)是開(kāi)著的。如果返回200信息,則有2種可能,基本認(rèn)證選項(xiàng)沒(méi)有開(kāi)或者是服務(wù)器存在一個(gè)用戶名是
system的用戶名,并且密碼是manager (猜中的話,行大運(yùn)啦)。
相關(guān)文章
Content-Location文件頭定義方法(防止內(nèi)部IP地址泄漏二法)
當(dāng)訪問(wèn)IIS網(wǎng)站上的靜態(tài)HTML文件時(shí),比如index.htm,IIS響應(yīng)中會(huì)包含一個(gè)Content-Location文件頭,為了安全等考慮我們可以自定義不讓別人知道我們的默認(rèn)頁(yè)面地址2012-07-07配置win2008防火墻 允許被Ping的設(shè)置方法
出于安全因素考慮,在 Windows Server 2008 上是不允許從外部對(duì)其執(zhí)行 Ping 指令的2010-05-05訪問(wèn)php時(shí)提示內(nèi)存位置訪問(wèn)無(wú)效的解決辦法和思路分析
新配置的PHP環(huán)境,或者剛做過(guò)配置改動(dòng),比如新加載的DLL擴(kuò)展,訪問(wèn)頁(yè)面,可能會(huì)出現(xiàn)“內(nèi)存位置訪問(wèn)無(wú)效?!钡腻e(cuò)誤。主要原因是DLL擴(kuò)展加載失敗。2011-08-08在64bit Win2008上運(yùn)行Asp+Access網(wǎng)站的一些設(shè)置
這篇文章主要介紹了在64bit Win2008上運(yùn)行Asp+Access網(wǎng)站的一些設(shè)置,需要的朋友可以參考下2015-01-01無(wú)法讀取配置節(jié) system.serviceModel 因?yàn)樗鄙俟?jié)聲明的解決方法
無(wú)法讀取配置節(jié) system.serviceModel 因?yàn)樗鄙俟?jié)聲明的解決方法,需要的朋友可以參考下2012-12-12IIS 8.5下設(shè)置404錯(cuò)誤頁(yè)圖文教程
這篇文章主要介紹了IIS 8.5下設(shè)置404錯(cuò)誤頁(yè)圖文教程,本文演示了正確的設(shè)置404錯(cuò)誤頁(yè)的方法,需要的朋友可以參考下2015-01-01Windows下Apache應(yīng)用環(huán)境塔建安全設(shè)置(目錄權(quán)限設(shè)置)
目的:為Apache,php配置受限制的用戶權(quán)限。保護(hù)系統(tǒng)安全。需要的朋友可以參考下。2011-04-04Win2008 R2 WEB 服務(wù)器安全設(shè)置指南之修改3389端口與更新補(bǔ)丁
這篇文章主要介紹了Win2008 R2 WEB 服務(wù)器安全設(shè)置指南之修改3389端口與更新補(bǔ)丁,需要的朋友可以參考下2016-06-06win10使用清華源快速安裝pytorch-GPU版(推薦)
這篇文章主要介紹了win10使用清華源快速安裝pytorch-GPU版,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10