sqlserver數(shù)據(jù)庫(kù)危險(xiǎn)擴(kuò)展刪除和恢復(fù)代碼
更新時(shí)間:2010年07月25日 11:05:29 作者:
今天為了實(shí)現(xiàn)sqlserver的復(fù)制功能,因?yàn)橐郧皠h除了很多的sqlserver的一些會(huì)導(dǎo)致不安全因素的擴(kuò)展,導(dǎo)致很多功能無(wú)法用,沒(méi)有辦法需要重新的恢復(fù)擴(kuò)展。
曾經(jīng)遇過(guò),差點(diǎn)抓狂,有裝MSSQL的朋友,趕緊試一下,刪除以下的組件.當(dāng)然,前提是你要把自己的數(shù)據(jù)庫(kù)搞定后再去刪除,否則組件刪除后很多功能不能用,為了安全,就得犧牲某些功能,當(dāng)然,像我這類的,我除了把MSSQL導(dǎo)入后,基本上一年用不到兩次,所以,我是會(huì)毫不猶豫地刪除,嘿.
一, 將有安全問(wèn)題的SQL過(guò)程刪除.比較全面.一切為了安全!
刪除了調(diào)用shell,注冊(cè)表,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ǔ)過(guò)程會(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ì)將有安全問(wèn)題的SQL過(guò)程刪除
二,SQL server 2000漏洞一直很多
前段時(shí)間我自己的服務(wù)器就出現(xiàn)了一個(gè)sql的臨時(shí)儲(chǔ)存過(guò)程漏洞
漏洞擴(kuò)展:xp_dirtree儲(chǔ)存過(guò)程
事前:最近發(fā)現(xiàn)一個(gè)漏洞是sql服務(wù)器造成的
前幾天正好沒(méi)有什么事情,就用阿d的sql注入工具對(duì)自己服務(wù)器的網(wǎng)站進(jìn)行注入,偶然發(fā)現(xiàn)了使用mssql的網(wǎng)站浸染可以利用sql注入的形式得到整個(gè)服務(wù)器上所有目錄(我的服務(wù)器作了安全設(shè)置的)依然可以看見(jiàn),然后在服務(wù)器上安裝了一個(gè)抓包工具對(duì)sql server進(jìn)行抓包發(fā)現(xiàn),使用工具連接sql漏洞xp_dirtree讀取目錄,可獲得整個(gè)服務(wù)器目錄,如列出c盤(pán)目錄他會(huì)把你c盤(pán)下的所有目錄列出來(lái),這樣是很不安全的,目前是只可以查處目錄上穿東西,大家可以設(shè)想一下,如果我隨意修改一個(gè)boot.ini覆蓋了c盤(pán)的boot.ini是一個(gè)什么概念,呵呵首先可以導(dǎo)致服務(wù)其癱瘓,無(wú)法讀取系統(tǒng)
解決方案:刪除xp_dirtree,命令是sp_dropextendedproc 'xp_dirtree'
刪除了以上的那個(gè)組建您在使用阿d或者任何的sql注入工具都是白搭
在這里也給大家提供一些其他sql危險(xiǎn)的儲(chǔ)存過(guò)程
建議刪除
[注意:所有刪除sql儲(chǔ)存過(guò)程的操作必須在mssql查詢分析器里操作,下面哪些前面的是儲(chǔ)存過(guò)程的名字后面是刪除儲(chǔ)存過(guò)程的命令]
先來(lái)列出危險(xiǎn)的內(nèi)置存儲(chǔ)過(guò)程:
一, 將有安全問(wèn)題的SQL過(guò)程刪除.比較全面.一切為了安全!
刪除了調(diào)用shell,注冊(cè)表,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ò)展后,將無(wú)法遠(yuǎn)程連接數(shù)據(jù)庫(kù)]
以下3個(gè)存儲(chǔ)過(guò)程會(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ù)腳本
復(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ì)將有安全問(wèn)題的SQL過(guò)程刪除
二,SQL server 2000漏洞一直很多
前段時(shí)間我自己的服務(wù)器就出現(xiàn)了一個(gè)sql的臨時(shí)儲(chǔ)存過(guò)程漏洞
漏洞擴(kuò)展:xp_dirtree儲(chǔ)存過(guò)程
事前:最近發(fā)現(xiàn)一個(gè)漏洞是sql服務(wù)器造成的
前幾天正好沒(méi)有什么事情,就用阿d的sql注入工具對(duì)自己服務(wù)器的網(wǎng)站進(jìn)行注入,偶然發(fā)現(xiàn)了使用mssql的網(wǎng)站浸染可以利用sql注入的形式得到整個(gè)服務(wù)器上所有目錄(我的服務(wù)器作了安全設(shè)置的)依然可以看見(jiàn),然后在服務(wù)器上安裝了一個(gè)抓包工具對(duì)sql server進(jìn)行抓包發(fā)現(xiàn),使用工具連接sql漏洞xp_dirtree讀取目錄,可獲得整個(gè)服務(wù)器目錄,如列出c盤(pán)目錄他會(huì)把你c盤(pán)下的所有目錄列出來(lái),這樣是很不安全的,目前是只可以查處目錄上穿東西,大家可以設(shè)想一下,如果我隨意修改一個(gè)boot.ini覆蓋了c盤(pán)的boot.ini是一個(gè)什么概念,呵呵首先可以導(dǎo)致服務(wù)其癱瘓,無(wú)法讀取系統(tǒng)
解決方案:刪除xp_dirtree,命令是sp_dropextendedproc 'xp_dirtree'
刪除了以上的那個(gè)組建您在使用阿d或者任何的sql注入工具都是白搭
在這里也給大家提供一些其他sql危險(xiǎn)的儲(chǔ)存過(guò)程
建議刪除
[注意:所有刪除sql儲(chǔ)存過(guò)程的操作必須在mssql查詢分析器里操作,下面哪些前面的是儲(chǔ)存過(guò)程的名字后面是刪除儲(chǔ)存過(guò)程的命令]
先來(lái)列出危險(xiǎn)的內(nèi)置存儲(chǔ)過(guò)程:
| 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' |
您可能感興趣的文章:
相關(guān)文章
sql server定時(shí)作業(yè)調(diào)用Kettle job出錯(cuò)的快速解決方法
這篇文章主要介紹了sql server定時(shí)作業(yè)調(diào)用Kettle job出錯(cuò)的快速解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
SQL Server誤區(qū)30日談 第22天 資源調(diào)控器可以調(diào)控IO
資源調(diào)控器無(wú)法調(diào)控IO,希望下一個(gè)版本的SQL Server支持調(diào)控IO,調(diào)控IO對(duì)于對(duì)于減少對(duì)于大表的scan操作帶來(lái)的性能影響很有幫助2013-01-01
SqlServer中用exec處理sql字符串中含有變量的小例子
這篇文章主要介紹了用exec處理sql字符串中含有變量的小例子,有需要的朋友可以參考一下2013-12-12
淺析SQL Server的聚焦使用索引和查詢執(zhí)行計(jì)劃
本文通過(guò)介紹默認(rèn)使用索引、強(qiáng)制使用聚集索引、強(qiáng)制使用非聚集索引讓我們知道對(duì)于檢索所有列結(jié)果集使用主鍵的聚集索引是最佳選擇。有興趣的朋友可以看下2016-12-12
MS-SQL Server 中單引號(hào)的兩種處理方法
MS-SQL Server 中單引號(hào)的兩種處理方法...2007-01-01
SQL?Server?Reporting?Services?匿名登錄的問(wèn)題及解決方案
這篇文章主要介紹了關(guān)于?SQL?Server?Reporting?Services?匿名登錄的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
SQL Server創(chuàng)建鏈接服務(wù)器的存儲(chǔ)過(guò)程示例分享
創(chuàng)建鏈接服務(wù)器。鏈接服務(wù)器讓用戶可以對(duì) OLE DB 數(shù)據(jù)源進(jìn)行分布式異類查詢。在使用 sp_addlinkedserver 創(chuàng)建鏈接 服務(wù)器后,可對(duì)該服務(wù)器運(yùn)行分布式查詢。2014-07-07
sqlserverdriver配置方法 jdbc連接sqlserver
這篇文章主要介紹了sqlserverdriver配置方法,介紹了連接SqlServer2000 和連接SqlServer2005的方法,大家參考使用吧2014-01-01

