修改SQL SERVER內建儲存過程

2021-04-02 02:45:24 字數 2896 閱讀 2151

修改sql server內建儲存過程。

sqlserver估計是為了安裝或者其它方面,它內建了一批危險的儲存過程。能讀到登錄檔資訊,能寫入登錄檔資訊,能讀磁碟共享資訊等等……各位看到這兒,心裡可能會在想,我的**中有其它的**,又不像查詢分析器那樣能直接將結果輸出。給你這個許可權,也不能怎麼樣,還是看不到資訊。如果各位這樣想就大錯特錯了。提示一下,如果攻擊者有create table的許可權,那麼建立乙個臨時表,然後將資訊insert到表中,然select出來,接著跟數字進行比較,讓sql server報錯,那麼結果就全出來了……所以我們要報著寧錯殺,不放過的態度進行修補。

先來列出危險的內建儲存過程:

xp_cmdshell

xp_regaddmultistring

xp_regdeletekey

xp_regdeletevalue

xp_regenumkeys

xp_regenumvalues

xp_regread

xp_regremovemultistring

xp_regwrite

activex自動指令碼:

sp_oacreate

sp_oadestroy

sp_oamethod

sp_oagetproperty

sp_oasetproperty

sp_oageterrorinfo

sp_oastop

以上各項全在我們**之列,例如xp_cmdshell遮蔽的方法為:

sp_dropextendedproc 'xp_cmdshell'

如果需要的話,再用

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

進行恢復。如果你不知道xp_cmdshell使用的是哪個.dll檔案的話,可以使用

sp_helpextendedproc xp_cmdshel

來檢視xp_cmdshell使用的是哪個動態聯接庫。另外,將xp_cmdshell遮蔽後,我們還需要做的步驟是將xpsql70.dll檔案進行改名,以防止獲得sa的攻擊者將它進行恢復。

1.remove mssql2000 extended stored procedures.sql

use master

exec sp_dropextendedproc 'xp_cmdshell'

go exec sp_dropextendedproc 'xp_dirtree'

go exec sp_dropextendedproc 'xp_enumgroups'

go exec sp_dropextendedproc 'xp_fixeddrives'

go exec sp_dropextendedproc 'xp_loginconfig'

go exec sp_dropextendedproc 'xp_regaddmultistring'

go exec sp_dropextendedproc 'xp_regdeletekey'

go exec sp_dropextendedproc 'xp_regdeletevalue'

go exec sp_dropextendedproc 'xp_regread'

go exec sp_dropextendedproc 'xp_regremovemultistring'

go exec sp_dropextendedproc 'xp_regwrite'

go exec sp_dropextendedproc 'xp_enumerrorlogs'

go exec sp_dropextendedproc 'xp_getfiledetails'

go exec sp_dropextendedproc 'xp_regenumvalues'

go 2.restore mssql2000 extended stored procedures.sql

use master

exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'

go exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'

go exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'

go exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'

go exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'

go exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'

go exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'

go exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'

go exec sp_addextendedproc 'xp_regread', 'xpstar.dll'

go exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'

go exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'

go exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'

go exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'

go exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'

go

修改SQL SERVER內建儲存過程

sqlserver估計是為了安裝或者其它方面,它內建了一批危險的儲存過程。能讀到登錄檔資訊,能寫入登錄檔資訊,能讀磁碟共享資訊等等 各位看到這兒,心裡可能會在想,我的 中有其它的 又不像查詢分析器那樣能直接將結果輸出。給你這個許可權,也不能怎麼樣,還是看不到資訊。如果各位這樣想就大錯特錯了。提示一下...

SQL Server儲存過程建立和修改

開啟sql server 2005的管理工具,選中需要建立儲存過程的資料庫,找到 可程式設計性 展開後可以看到 儲存過程 右鍵點選它,選擇 新建儲存過程 右側的編輯視窗開啟了,裡面裝著微軟自動生成的sql server建立儲存過程的語句。將儲存過程的名字,引數,操作語句寫好後,點選語法分析,沒有錯誤...

SQL Server的內建函式

字元函式 1,返回字元表示式中最左側字元的ascii 值 select ascii a a 97,a 65 2,將整數ascii 轉換為字元 select char 97 97 a,65 a 3,返回具有給定的整數 的unicode字元 select nchar 65 a 4,返回表達第乙個字元的u...