一、MSSQL须知
Mssql注入必比了解的三张数据库自带库
-
-
表 释义
-
sysobjects
-
SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束 、默认值、日志、规则、存储过程等,每个对象在表中占一行。
-
syscolumns
-
该表位于每个数据库中。
-
sysdatabases
-
该表保存在master数据库中,这个表中保存的是所有的库名,以及库的ID,和一些相关信息
-
如
Mssql需要掌握的几种函数
-
1,host_name()返回服务端计算机名称
-
2, current_user 返回当前数据库的用户
-
(以下就不一一展示了)
-
3,db_name() 返回当前数据库名
-
4,CHAR()将asccii码转换成字符,如果不在0--255之间将返回null
-
5,Object_id()返会数据库表名,通常用于16进制或SQL编码的转换
-
6,col_name(table_id coulm_id) 返回指定表中的字段
-
7,substring()返回字符串
-
8,cast() 将某种数据类型的类型的表达式转换成另一种数据类型
-
9,CONVERT() 函数是把日期转换为新数据类型的通用函数
二、注入流程
-
1,判断是否是mssql数据库
-
apx 后缀的文件 可能为mssql数据库
-
利用and (select count(*)from sysobjects)>0 如果返回正常,则证明数据库为mssql数据库
-
2,order by 查字段
-
3,查表名以及库名 (注:mssql与mysql不同 返回的结果与类型要相同)
-
and'1=2 union all select 1,name,null from sysobjects where xtype='U'-- qwe
-
此处类型“U”为用户类型(也就是返回对象名就是表名) (“S”为系统表所带的类型)
-
4,查数据后的省略(查询数据时用top,top 1 为查询第一条数据)
-
查询版本信息
-
@@version-:获取版本信息
db_name():数据库名字
user,system_user,current_user,user_name:获取当前⽤户名
@@SERVERNAME:获取有关服务器主机的信息
盲注以及报错注入详情查看https://docs.zkaq.cn/#/docs/index/id=21
-
以下为某edu实战
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
免费领取安全学习资料包!
渗透工具
技术文档、书籍
面试题
帮助你在面试中脱颖而出
视频
基础到进阶
环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等
应急响应笔记
学习路线