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


   预防非法表D99_Tmp,kill_kk的浮现是 预防我们的网站不被 突击,同时也是SQL安全 提防一道必要的防线,虽说利用这种 模式 突击的人都是黑客中的小鸟,然而我们也只能防, 免得造成不可 设想的 后果,废话不多说了,说下 提防 步骤:

  xp_cmdshell 可以让系统治理员以操作系统命令行解释器的 模式执行给定的命令字符串,并以文本行 模式返回任何输出,是一个 性能十分 壮大的 扩大存贮过程 。

  普通的黑客 突击SQL Server时,首先采纳的 步骤是执行master 扩大存储过程xp_cmdshell命令来 毁坏数据库,为了数据库安全起见,最好禁止 使用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命令来 毁坏数据库,为了数据库安全起见,最好禁止 使用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 的消费者, 最好都运行 一下这个代码, 运行 的 步骤很 方便便是在 查问 综合器中执行一下, 之后众多黑客的 突击 步骤就没门了.

  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 字串,不会被 解决执行或执行失败