- 作者:zhaozj
- 发表时间:2020-12-23 10:38
- 来源:未知
最近需要用到这些东西的时候,发现自己有点记不清了,这真是人老了做什么都不行了。没办法,只好在自己的blog上总结一下吧。使用Sqlexec加管理员的过程这里冰血就不涉及了。 前提需要工具: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)<br>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'的对象 那么我们如何恢复呢? 其实按照高手lcx提供的方法,我们可以通过使用查询分析器中写脚本来实现。