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

举例:

exec xp_dirtree 'C:' 1,1

几个危险的扩展存储过程相关推荐

  1. sql server 常用的扩展存储过程

    sql server 里面提供了丰富的系统存储过程来辅助我们管理数据库以及开发.今天分享介绍一些常用的数据库扩展存储过程 xp_cmdshell 这个大家都比较熟悉了,使用xp_cmdshell 可以 ...

  2. SQL Server里一些未公开的扩展存储过程

    SQL Server里一些未公开的扩展存储过程 [转帖] 博客天地 www.inbaidu.com SQL Server里一些未公开的扩展存储过程 扩展存储过程(xp)是直接运行在SQL Server ...

  3. sqlserver 只有函数和扩展存储过程才能从函数内部执行

    一个SQLServer的自定义函数中调用一个自定义的存储过程,执行此函数后发出如下提示:"只有函数和扩展存储过程才能从函数内部执行". 原因:函数只能使用简单的sql语句,逻辑控制 ...

  4. 使用扩展存储过程xp_regread读取注册表信息

    T-SQL使用扩展存储过程[master].[dbo].[xp_regread]读取注册表信息. 如下注册表: Insus.NET为了做演示,写了一个用户自定义函数[dbo].[GetServerLo ...

  5. 使用SQLSERVER的扩展存储过程实现远程备份与恢复

    原地址:http://blog.csdn.net/xluzhong/articles/387533.aspx 最近我在为公司的框架程序(以数据应用为导向的应用体系)做数据管理模块,这个模块的需求比较简 ...

  6. mysql 扩展存储过程_MySQL4:存储过程和函数

    什么是存储过程 简单说,存储过程就是一条或多条SQL语句的集合,可视为批文件,但是起作用不仅限于批处理.本文主要讲解如何创建存储过程和存储函数以及变量的使用,如何调用.查看.修改.删除存储过程和存储函 ...

  7. 扩展存储过程在哪里_青浦区智能仓储哪里有,一件代发1.9元全国_1.9元发全国-上海东臻仓储服务...

    首页 > 新闻中心 发布时间:2020-11-21 06:50:15 导读:元发全国-上海东臻仓储服务为您提供青浦区智能仓储哪里有,一件代发元全国的相关知识与详情: 先进性指标是一个比较难以评价 ...

  8. 扩展存储过程在哪里_北京延庆工业废水处理哪里有

    1.铺设于土层下列,机器设备上边的土层可为或别的商业用地,不用盖房及集中供暖.隔热保温.下小编给大家详细介绍: 资讯:北京延庆工业废水哪里有 理论上,太阳能发电所产生的氢可促使转基因微生物中的二氧化碳 ...

  9. sql server中扩展存储过程

    --列出服务器上安装的所有OLEDB提供的程序 execute master..xp_enum_oledb_providers --得到硬盘文件信息 --参数说明:目录名,目录深度,是否显示文件 (少 ...

  10. SQLServer扩展存储过程

    --获得MS SQL的版本号 execute master..sp_msgetversion --得到硬盘文件信息 --参数说明:目录名,目录深度,是否显示文件 execute master..xp_ ...

最新文章

  1. centos 7 局域网丢包排查_Nginx搭建局域网yum源问题补充及解决思路与方法转发收藏...
  2. 使用Cydia Substrate Hook Android Java世界
  3. 重新定义“人货场”:淘宝情景计算探索实践
  4. linux 读取png图片,linux 下 OpenGL 读取 JPG, PNG, TAG 纹理数据
  5. 一次开发、多端分发,阿里巴巴发布AliOS车载小程序
  6. 全局变量、局部变量、静态全局变量、静态局部变量的区别
  7. mysql一次更新内容大于4M时报错修改max_allowed_packet变量
  8. java 读取mysql日志_如何在MySQL中查看日志文件?
  9. MySql库、表权限管理
  10. C和C++函数调用约定的区别
  11. VS log4net引用错误的解决
  12. 【转】Hadoop API 使用介绍
  13. win7安装IIS常见问题汇总
  14. 狂神说SpringMVC
  15. 计算机的指令集作用,指令集是
  16. 如何在excel中计算percentile和quartile
  17. 解决 python安装pip问题
  18. win10加装机械硬盘卡_win10重装,机械硬盘和SSD的C盘如何分区?记住这2点电脑10年不卡...
  19. java导出excel与word文档
  20. mysql 数据类型 查询_MySQL数据类型

热门文章

  1. 在iMac上如何轻松去掉程序坞中最近打开过的应用--小技巧
  2. sip系统完整性是什么?SIP系统完整性保护关闭方法(含M1)
  3. Android中Activity出现与退出的自定义动画
  4. k8s学习: 创建 mysql 任务
  5. 构建Python软件大厦系列
  6. Linux管理员常用网络资源(收集帖)
  7. Linux常用命令之:软件安装命令
  8. 19. 删除链表的倒数第N个节点【双指针经典应用】详解
  9. SketchUp Pro 2022 草图大师设计软件 Mac
  10. Corel Painter 2022 for Mac(初学者可驾驭的绘画软件)