曾經(jīng)遇過,差點(diǎn)抓狂,有裝MSSQL的朋友,趕緊試一下,刪除以下的組件.當(dāng)然,前提是你要把自己的數(shù)據(jù)庫搞定后再去刪除,否則組件刪除后很多功能不能用,為了安全,就得犧牲某些功能,當(dāng)然,像我這類的,我除了把MSSQL導(dǎo)入后,基本上一年用不到兩次,所以,我是會(huì)毫不猶豫地刪除,嘿.
一, 將有安全問題的SQL過程刪除.比較全面.一切為了安全!
刪除了調(diào)用shell,注冊表,COM組件的破壞權(quán)限
MS SQL SERVER2000
使用系統(tǒng)帳戶登陸查詢分析器
運(yùn)行以下腳本
復(fù)制代碼 代碼如下:
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ò)展后,將無法遠(yuǎn)程連接數(shù)據(jù)庫]
以下3個(gè)存儲(chǔ)過程會(huì)在SQL SERVER恢復(fù)備份時(shí)被使用,非必要請勿刪除
#exec sp_dropextendedproc 'xp_dirtree' [刪除此項(xiàng)擴(kuò)展后,將無法新建或附加數(shù)據(jù)庫]
#exec sp_dropextendedproc 'Xp_regread' [刪除此項(xiàng)擴(kuò)展后, 還原數(shù)據(jù)庫輔助]
#exec sp_dropextendedproc 'xp_fixeddrives' [刪除此項(xiàng)擴(kuò)展后,將無法還原數(shù)據(jù)庫]
恢復(fù)腳本
復(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注入工具對自己服務(wù)器的網(wǎng)站進(jìn)行注入,偶然發(fā)現(xiàn)了使用mssql的網(wǎng)站浸染可以利用sql注入的形式得到整個(gè)服務(wù)器上所有目錄(我的服務(wù)器作了安全設(shè)置的)依然可以看見,然后在服務(wù)器上安裝了一個(gè)抓包工具對sql server進(jìn)行抓包發(fā)現(xiàn),使用工具連接sql漏洞xp_dirtree讀取目錄,可獲得整個(gè)服務(wù)器目錄,如列出c盤目錄他會(huì)把你c盤下的所有目錄列出來,這樣是很不安全的,目前是只可以查處目錄上穿東西,大家可以設(shè)想一下,如果我隨意修改一個(gè)boot.ini覆蓋了c盤的boot.ini是一個(gè)什么概念,呵呵首先可以導(dǎo)致服務(wù)其癱瘓,無法讀取系統(tǒng)
解決方案:刪除xp_dirtree,命令是sp_dropextendedproc 'xp_dirtree'
刪除了以上的那個(gè)組建您在使用阿d或者任何的sql注入工具都是白搭
在這里也給大家提供一些其他sql危險(xiǎn)的儲(chǔ)存過程
建議刪除
[注意:所有刪除sql儲(chǔ)存過程的操作必須在mssql查詢分析器里操作,下面哪些前面的是儲(chǔ)存過程的名字后面是刪除儲(chǔ)存過程的命令]
先來列出危險(xiǎn)的內(nèi)置存儲(chǔ)過程:
xp_cmdshell |
sp_dropextendedproc 'xp_cmdshell' |
xp_regaddmultistring |
sp_dropextendedproc 'xp_regaddmultistring' |
xp_regdeletekey |
sp_dropextendedproc 'xp_regdeletekey' |
xp_regdeletevalue |
sp_dropextendedproc 'xp_regdeletevalue' |
xp_regenumkeys |
sp_dropextendedproc 'xp_regenumkeys' |
xp_regenumvalues |
sp_dropextendedproc 'xp_regenumvalues' |
xp_regread |
sp_dropextendedproc 'xp_regread' |
xp_regremovemultistring |
sp_dropextendedproc 'xp_regremovemultistring' |
xp_regwrite |
sp_dropextendedproc 'xp_regwrite' |
ActiveX腳本:
sp_OACreate |
sp_dropextendedproc 'sp_OACreate' |
sp_OADestroy |
sp_dropextendedproc 'sp_OADestroy' |
sp_OAMethod |
sp_dropextendedproc 'sp_OAMethod' |
sp_OAGetProperty |
sp_dropextendedproc 'sp_OAGetProperty' |
sp_OAGetErrorInfo |
sp_dropextendedproc 'sp_OAGetErrorInfo' |
sp_OAStop |
sp_dropextendedproc 'sp_OAStop' |
您可能感興趣的文章:- 幾個(gè)擴(kuò)展存儲(chǔ)過程使用方法