去掉xpcmdshell增加系统安全性

博客主要围绕数据库中xp_cmdshell扩展过程展开,介绍了去掉和添加该扩展过程的语句。还说明了取得SA权限后远程执行cmd命令出现错误可能是去掉了该扩展,以及被去掉后恢复的两种方法,另外提及对方删除或改名xplog70.dll时的应对方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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'的对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值