今天為了實(shí)現(xiàn)sqlserver的復(fù)制功能,因?yàn)橐郧皠h除了很多的sqlserver的一些會(huì)導(dǎo)致不安全因素的擴(kuò)展,導(dǎo)致很多功能無(wú)法用,沒有辦法需要重新的恢復(fù)擴(kuò)展。
曾經(jīng)遇過,差點(diǎn)抓狂,有裝MSSQL的朋友,趕緊試一下,刪除以下的組件.當(dāng)然,前提是你要把自己的數(shù)據(jù)庫(kù)搞定后再去刪除,否則組件刪除后很多功能不能用,為了安全,就得犧牲某些功能,當(dāng)然,像我這類的,我除了把MSSQL導(dǎo)入后,基本上一年用不到兩次,所以,我是會(huì)毫不猶豫地刪除,嘿.
一, 將有安全問題的SQL過程刪除.比較全面.一切為了安全!
刪除了調(diào)用shell,,COM組件的破壞權(quán)限
MS SQL SERVER2000
使用系統(tǒng)帳戶登陸查詢分析器
運(yùn)行以下腳本
代碼如下:
use master
exec sp_dropextendedproc ‘xp_cmdshell’
exec sp_dropextendedproc ‘xp_enumgroups’
exec sp_dropextendedproc ‘xp_loginconfig’
exec sp_dropextendedproc ‘xp_enumerrorlogs’
exec sp_dropextendedproc ‘xp_getfiledetails’
exec sp_dropextendedproc ‘Sp_OACreate’
exec sp_dropextendedproc ‘Sp_OADestroy’
exec sp_dropextendedproc ‘Sp_OAGetErrorInfo’
exec sp_dropextendedproc ‘Sp_OAGetProperty’
exec sp_dropextendedproc ‘Sp_OAMethod’
exec sp_dropextendedproc ‘Sp_OASetProperty’
exec sp_dropextendedproc ‘Sp_OAStop’
exec sp_dropextendedproc ‘xp_regaddmultistring’
exec sp_dropextendedproc ‘xp_regdeletekey’
exec sp_dropextendedproc ‘xp_regdeletevalue’
exec sp_dropextendedproc ‘xp_regenumvalues’
exec sp_dropextendedproc ‘xp_regremovemultistring’
exec sp_dropextendedproc ‘xp_regwrite’
drop procedure sp_makewebtask
go
刪除所有危險(xiǎn)的擴(kuò)展.
exec sp_dropextendedproc ‘xp_cmdshell’ [刪除此項(xiàng)擴(kuò)展后,將無(wú)法遠(yuǎn)程連接數(shù)據(jù)庫(kù)]
以下3個(gè)存儲(chǔ)過程會(huì)在SQL SERVER恢復(fù)備份時(shí)被使用,非必要請(qǐng)勿刪除
#exec sp_dropextendedproc ‘xp_dirtree’ [刪除此項(xiàng)擴(kuò)展后,將無(wú)法新建或附加數(shù)據(jù)庫(kù)]
#exec sp_dropextendedproc ‘Xp_regread’ [刪除此項(xiàng)擴(kuò)展后, 還原數(shù)據(jù)庫(kù)輔助]
#exec sp_dropextendedproc ‘xp_fixeddrives’ [刪除此項(xiàng)擴(kuò)展后,將無(wú)法還原數(shù)據(jù)庫(kù)]
恢復(fù)腳本
代碼如下:
use master
EXEC sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’
EXEC sp_addextendedproc xp_enumgroups ,@dllname =’xplog70.dll’
EXEC sp_addextendedproc xp_loginconfig ,@dllname =’xplog70.dll’
EXEC sp_addextendedproc xp_enumerrorlogs ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_getfiledetails ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc Sp_OACreate ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OADestroy ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAGetErrorInfo ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAGetProperty ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAMethod ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OASetProperty ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc Sp_OAStop ,@dllname =’odsole70.dll’
EXEC sp_addextendedproc xp_regaddmultistring ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_regdeletekey ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_regdeletevalue ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_regenumvalues ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_regremovemultistring ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_regwrite ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_dirtree ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_regread ,@dllname =’xpstar.dll’
EXEC sp_addextendedproc xp_fixeddrives ,@dllname =’xpstar.dll’
go
全部復(fù)制到”SQL查詢分析器”
點(diǎn)擊菜單上的–“查詢”–“執(zhí)行”,就會(huì)將有安全問題的SQL過程刪除
二,SQL server 2000漏洞一直很多
前段時(shí)間我自己的服務(wù)器就出現(xiàn)了一個(gè)sql的臨時(shí)儲(chǔ)存過程漏洞
漏洞擴(kuò)展:xp_dirtree儲(chǔ)存過程
事前:最近發(fā)現(xiàn)一個(gè)漏洞是sql服務(wù)器造成的
前幾天正好沒有什么事情,就用阿d的sql注入工具對(duì)自己服務(wù)器的網(wǎng)站進(jìn)行注入,偶然發(fā)現(xiàn)了使用mssql的網(wǎng)站浸染可以利用sql注入的形式得到整個(gè)服務(wù)器上所有目錄(我的服務(wù)器作了的)依然可以看見,然后在服務(wù)器上安裝了一個(gè)抓包工具對(duì)sql server進(jìn)行抓包發(fā)現(xiàn),使用工具連接sql漏洞xp_dirtree讀取目錄,可獲得整個(gè)服務(wù)器目錄,如列出c盤目錄他會(huì)把你c盤下的所有目錄列出來(lái),這樣是很不安全的,目前是只可以查處目錄上穿東西,大家可以設(shè)想一下,如果我隨意修改一個(gè)boot.ini覆蓋了c盤的boot.ini是一個(gè)什么概念,呵呵首先可以導(dǎo)致服務(wù)其癱瘓,無(wú)法讀取系統(tǒng)
解決方案:刪除xp_dirtree,命令是sp_dropextendedproc ‘xp_dirtree’
刪除了以上的那個(gè)組建您在使用阿d或者任何的sql注入工具都是白搭
在這里也給大家提供一些其他sql危險(xiǎn)的儲(chǔ)存過程
建議刪除
[注意:所有刪除sql儲(chǔ)存過程的操作必須在mssql查詢分析器里操作,下面哪些前面的是儲(chǔ)存過程的名字后面是刪除儲(chǔ)存過程的命令]
先來(lái)列出危險(xiǎn)的內(nèi)置存儲(chǔ)過程:
ActiveX腳本: