中国网格虚拟主机不满意退款承诺!
24小时咨询热线:021-51095771  51087627
中国网格
快速建站 只选网格
域名+空间+数据库+维护 企业网站整体服务商
支付方式数 据 库优惠套餐
您当前的位置 
首页
快速建站
技术
MSSQL
正文

MSSQL预防非法表D99_Tmp,kill_kk的建立

发布时间:2012-10-26 16:51:48| www.cnwg.cn | 文章标签:MSSQL,预防非法表

防止非法表D99_Tmp,kill_kk的出现是防止我们的网站不被攻击,同时也是SQL安全防范一道必要的防线,虽说利用这种方式攻击的人都是黑客中的小鸟,但是我们也不得不防,以免造成不可想象的后果,废话不多说了,说下防范方法:

xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出,是一个功能非常强大的扩展存贮过程。

一般的黑客攻击SQL Server时,首先采用的方法是执行master扩展存储过程xp_cmdshell命令来破坏数据库,为了数据库安全起见,Z好禁止使用xp_cmdShell. 

可以将xp_cmdshell消除:  

以下是引用片段:

Use Master 

Exec sp_dropextendedproc N'xp_cmdshell' 

Go

如果需要的话,可以把xp_cmdshell恢复回来:

以下是引用片段: 

Use Master  

Exec sp_addextendedproc N'xp_cmdshell', N'xplog70.dll' 

Go

这样就行了,做好每一步的安全防范都很重要,希望可以帮到你们.

sql server 2000数据库,不知道为什么多了个D99_CMD表,说明网站有注入漏洞。

利用注入点.可以在你的数据库里.多建一个表.然后可以利用注入点.读取你网站的所有信息放到这个表里.再输出来给"黑客"看..

一般的黑客攻击SQL Server时,首先采用的方法是执行master扩展存储过程xp_cmdshell命令来破坏数据库,为了数据库安全起见,Z好禁止使用xp_cmdShell,xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串, 并以文本行方式返回任何输出,是一个功能非常强大的扩展存贮过程。

一般情况下,xp_cmdshell对管理员来说也是不必要的,xp_cmdshell的消除不会对Server造成任何影响。

可以将xp_cmdshell消除:  

Use Master  

Exec sp_dropextendedproc N'xp_cmdshell'  

Go
  
如果需要的话,可以把xp_cmdshell恢复回来: 

Use Master 

Exec sp_addextendedproc N'xp_cmdshell', N'xplog70.dll' 

Go

自己有服务器,并用SQL Server 的用户, Z好都运行 一下这个代码, 运行 的方法很简单就是在查询分析器中执行一下, 之后很多黑客的攻击方法就没门了.  

Use Master  

Exec sp_dropextendedproc N'xp_cmdshell' 

Go

当运行

EXEC master.dbo.xp_cmdshell 'dir c:\'

这个命令时,系统就会产生 D99_Tmp 这个表, 当屏蔽掉 'xp_cmdshell' 后, 这个代码就不能运行了.而屏蔽掉'xp_cmdshell'对系统的正常工作不受影响, 建议大家有条件的都屏蔽掉这个存储过程.

另外:MSSQL数据库存在几个危险的扩展存储过程,默认Public组可执行权限,SQL注入者可利用此读取文件目录及用户组,并可通过先写入数据库然后导出为文件的方法往服务器写入危险脚本进一步提权,或直接使用某些存储过程执行命令,如xp_cmdshell。这些存储过程如下:

sp_makeweBTask

xp_cmdshell

xp_dirtree 

xp_fileexist 

xp_terminate_process

sp_oamethod

sp_oacreate

xp_regaddmultistring 

xp_regdeletekey 

xp_regdeletevalue

xp_regenumkeys

xp_regenumvalues

sp_add_job

sp_addtask

xp_regread

xp_regwrite

xp_readweBTask

xp_makeweBTask

xp_regremovemultistring

对应措施:删除上述存储过程或可执行文件或修改存储过程相应用户组可执行权限,删除上述存储过程对应脚本为:

drop PROCEDURE sp_makeweBTask 

exec master..sp_dropextendedproc xp_cmdshell 

exec master..sp_dropextendedproc xp_dirtree 

exec master..sp_dropextendedproc xp_fileexist

exec master..sp_dropextendedproc xp_terminate_process

exec master..sp_dropextendedproc sp_oamethod

exec master..sp_dropextendedproc sp_oacreate

exec master..sp_dropextendedproc xp_regaddmultistring

exec master..sp_dropextendedproc xp_regdeletekey

exec master..sp_dropextendedproc xp_regdeletevalue

exec master..sp_dropextendedproc xp_regenumkeys

exec master..sp_dropextendedproc xp_regenumvalues

exec master..sp_dropextendedproc sp_add_job

exec master..sp_dropextendedproc sp_addtask

exec master..sp_dropextendedproc xp_regread

exec master..sp_dropextendedproc xp_regwrite

exec master..sp_dropextendedproc xp_readweBTask

exec master..sp_dropextendedproc xp_makeweBTask

exec master..sp_dropextendedproc xp_regremovemultistring

数据库中如发现D99_TMP数据表,请先通知网站管理员修补sql注入漏洞,该表为某SQL注入工具默认自增表,内容为C盘目录下全部文件及文件夹名称,服务器网管应检查xp_dirtree扩展存储过程权限,设置为public组不可读即可防止恶意访客读取本地文件信息,或删除xp_dirtree存储过程或删除xpstar.dll文件,该文件位于sql安装目录下。 

EXEC sp_addextendedproc xp_dirtree ,@dllname ='xpstar.dll' 

EXEC sp_addextendedproc xp_fileexist ,@dllname ='xpstar.dll' 

在程序方面:简单的预防的办法,就是在写asp程序都用这样方式吧:

在写代码 id=request("id") 

改为 id=int(request("id"))

这样 id变数字后面的 SQL 字串就会被清除 

另外将 sql="select * from XXX where id=" & id 

改为 sql="select * from XXX where id='" & id & "'"

那么黑客加入的 SQL 字串,不会被处理执行或执行失败


数据库空间

数据库存储空间

价格:200元/100M

MySql,SQL可选择

参考资料

我要评价

评价发表成功

错误提示
关于网格 | 联系方式 | 网站地图 | 客户中心 | 网格招聘 | 代理合作 | 支付方式 | 帮助中心
中国网格所属上海羽灿计算机科技有限公司版权所有 Copyright©cnwg.cn 2003-2013,All Rights Reserved.

联系电话:021-51095771 021-51087627 传真:021-51087637-202
版权所有:上海羽灿计算机科技有限公司 中国网格(cnwg.cn/cnwg.cc)©2003-2013 All Rights Reserved.
地址:上海市银都路3399弄533号 邮编:201108 ICP经营许可证编号:沪B2-20060019 沪ICP备06012189号

  • 经营性网站
    备案信息
  • 网络110
    报警服务
  • 文明办网
    先进单位
  • 支付宝
    特约商家
  • 网络社区
    征信网
  • 上海工商
    网上亮照