MSSQL注入前置知识
简述
Microsoft SQL server也叫SQL server / MSSQL,由微软推出的关系型数据库,默认端口1433
常见搭配C# / .net + IIS+mssql
mssql的数据库文件
数据文件(.mdf):主要的数据文件,包含数据表中的数据和对象信息
日志文件(.ldf):记录数据库的所有操作
MSSQL的系统数据库
master:主要为系统控制数据库,其中包括了所有配置信息、用户登录信息和当前系统运行情况。
model:模版数据库
tempdb:临时容器
msdb:主要为用户使用,所有的告警、任务调度等都在这个数据库中。
MSSQL注入常用的系统视图
1.sys.objects:可以查看所有类型的数据库对象,包括表、视图、存储过程。主要我们用来查询数据库的表,以及表的object_id,常用字段:name,object_id(表的唯一标识符),type(表的类型,U为用户创建的,S是系统基础表),sysobjects中为xtype。
2.sys.columns:存储数据库中的每个表的列信息,包括列名、数据类型、长度等。常用字段:object_id,name,column_id
3.sys.databases:该视图包含了 SQL Server 实例中所有数据库的信息,如数据库名、创建日期,我们主要用来查看有哪些数据库,常用字段:name,database_id,owner_sid(数据库所有者的id,系统数据库为0x01)
4.sysobjects: 旧版的sys.objects; sysdatabases: 旧版的sys.databases; syscolumns:旧版的sys.columns
5.INFORMATION_SCHEMA.TABLES:用法类似于mysql,查询表的名字
6.INFORMATION_SCHEMA.COLUMNS:查询列名的,用法类似mysql
MSSQL权限
一般MSSQL有的两种不同类型的权限,分别针对不同的对象:1.服务器级别的权限,2.数据库级别的权限在服务器和数据库的权限设置当中,又有两个概念:1.用户 2.角色
用户是登录数据库的实体,而角色是用户的权限集合。类似于当官的人和官职,不同官职代表不同的权限也就是数据库的角色,而同一个官职可以有多人,当官的具体的人就是数据库的用户。*也类似于windows的组*
用户和角色在服务器级别以及数据库级别都会存在,服务器的最高权限可以操作数据库服务器以及数据库的所有操作,而数据库的最高权限有可能(因为有时用户会同时具有数据库的最高权限以及服务器的最高权限)仅可以操作当前数据库的所有操作,并不能进行跨库以及操控整个数据库服务器。
服务器级别的最高权限角色是 sysadmin 角色,数据库级别的最高权限角色是 db_owner 角色。
那么一个登录用户的权限主要看用户所在的角色是什么。
服务器级别角色:
1.sysadmin:具有服务器级别的最高权限,可以执行所有操作。
2.serveradmin:很高的权限,几乎可以执行所有操作,包括操作所有数据库
数据库级别角色:
1.db_owner:数据库级别的最高权限,可以执行数据库的所有操作
2.db_datareader:具有只读访问数据库中所有表的权限。
3.db_datawriter:具有写入和修改数据库中所有表的权限。
4. db_securityadmin:负责管理数据库安全相关的操作,包括分配权限、创建和管理角色等。
5.db_backupoperator:负责数据库备份和恢复的操作,可以执行备份和恢复数据库的任务。
MSSQL常用注入语句
判断当前用户权限
SELECT SYSTEM_USER;返回当前服务器用户登陆名
SELECT USER;返回当前数据库用户所在数据库中的身份
--判断是什么角色,如果是返回1,不是返回0
is_srvrolemenber('角色名')
is_menber('角色名')
判断是否为服务器SA角色
判断是否为服务器public角色
判断是否位数据库db_owner角色
获取数据库版本
获取数据库名
select db_name() 查询当前数据库名
select db_name(5) 查询第一个非系统数据库(通过查询sys.databas可以看到四个owner_sid为0x01的系统库排在前面,以此类推)
select file_name(1)一般数据库名文件名和数据库名是相同的,如果db_name被过滤可以试这个
select top 1 name from sys.databases where owner_sid<>0x01 and name not in (name1,name2)
owner_sid<>0x01中<>是不等的意思,因为0x01是系统表
获取数据库表名
-跨库查询
select top 1 name from 数据库名.dbo.sysobjects where xtype='u'
dbo是用户名,默认的,没明确指定都创建在dbo下
select top 1 name from 数据库名.sys.tables
-当前库查询
select top 1 name from sys.objects where xtype='u'
select top 1 name from sys.tables
相关文章:

MSSQL注入前置知识
简述 Microsoft SQL server也叫SQL server / MSSQL,由微软推出的关系型数据库,默认端口1433 常见搭配C# / .net IISmssql mssql的数据库文件 数据文件(.mdf):主要的数据文件,包含数据表中的数据和对象信息…...

idea一键为实体类赋值
file -> settings -> plugins -> marketplace 把这个插件装上 找个实体,选中,altenter进入edit界面 我是选择只保留右边这种生成方法,然后选择ok 返回到那个实体,选择,altenter generate生成...

秋招突击——7/24——知识补充——JVM类加载机制
文章目录 引言类加载机制知识点复习类的生命周期1、加载2、连接——验证3、连接——准备4、连接——解析5、初始化 类加载器和类加载机制类加载器类加载机制——双亲委派模型 面试题整理1、类加载是什么2、类加载的过程是什么3、有哪些类加载器?4、双亲委派模型是什…...

如何在 Microsoft SQL Server 中增加字段-完整指南
在使用 Microsoft SQL Server (MSSQL) 进行数据库管理时,添加新字段(列)是一项常见的任务。无论你是需要存储额外的信息,还是调整数据模型以适应新的业务需求,本指南都将帮助你轻松完成这项操作。 目录 1. 使用 T-SQL 添加字段2. 使用 SQL Server Management Studio (SSMS) 添加…...

快手电商Android一面凉经(2024)
快手电商Android一面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《快手电商Android一面凉经(2024)》。 面试职位: Android工程师 技术一面 面试形式…...

随机点名器
练习1 package lx;import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.Random;/*需求:需求:有一个文件里面存储了班级同学的信息,每一个信息占一行。格式为:张三-男-23要求通过程序…...

添加动态云层
<template> <div class"topbox"> xx卫星管理 </div> <div class"selectbox"> <div class"title"> 卫星列表 </div> <el-table :data"tableData" style"width: 100%;height:230px;" …...
Spring Boot组成的分布式系统中实现日志跟踪
Spring Boot组成的分布式系统中实现日志跟踪 首发2024-07-25 08:54潘多编程 在分布式系统中,日志跟踪是一项非常重要的功能,它帮助开发者了解请求在整个系统中的流转过程,这对于调试、监控和故障排查至关重要。Spring Boot应用通常作为微服…...

GPT-4o Mini 模型的性能与成本优势全解析
GPT-4o Mini 模型的性能与成本优势全解析 📈 🌟 GPT-4o Mini 模型的性能与成本优势全解析 📈摘要引言正文内容GPT-4o Mini 模型简介 🚀性能测试与对比 📊应用场景 🌐自然语言处理对话系统内容生成 ✍️ &am…...
web前端 - HTML 基础知识大揭秘
HTML 大揭秘 什么是 HTML HTML(Hyper Text Markup Language),中文译为超文本标记语言。其中,我们需要注意两个关键词。一个是 超文本,一个是 标记。所谓超文本,就是将不同空间的文字信息通过超链接的方式…...
HTML meta
<meta>标签用于提供html文档的元信息(metadata)。这些信息不会显示在页面上,但会被浏览器或搜索引擎用来识别页面的编码方式、关键字、描述、作者信息、刷新时间等。 基本语法 <meta name"属性名" content"属性值&q…...
【学习笔记】子集DP
背景 有一类问题和子集有关。 给你一个集合 S S S,令 T T T 为 S S S 的超集,也就是 S S S 所有子集的集合,求 T T T 中所有元素的和。 暴力1 先预处理子集的元素和 A i A_i Ai,再枚举子集。 for(int s0; s<(1<…...

苦学Opencv的第十四天:人脸检测和人脸识别
Python OpenCV入门到精通学习日记:人脸检测和人脸识别 前言 经过了十三天的不懈努力,我们终于也是来到了人脸检测和人脸识别啦!相信大家也很激动吧。接下来我们开始吧! 人脸识别是基于人的脸部特征信息进行身份识别的一种生物识…...

PyTorch学习(1)
PyTorch学习(1) CIFAR-10数据集-图像分类 数据集来源是官方提供的: torchvision.datasets.CIFAR10()共有十类物品,需要用CNN实现图像分类问题。 代码如下:(CIFAR_10_Classifier_Self_1.py) import torch import t…...
三思而后行:计算机行业的决策智慧
在计算机行业,"三思而后行"这一原则显得尤为重要。在这个快速发展、技术不断更新换代的领域,每一个决策都可能对项目的成功与否产生深远的影响。以下是一篇关于在计算机行业中三思重要性的文章。 三思而后行:计算机行业的决策智慧 …...

Linux--Socket编程UDP
前文:Socket套接字编程 UDP协议特点 无连接:UDP在发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。尽最大努力交付:UDP不保证可靠交付,主机不需要维持复杂的连接状态表。面向报文:UDP对应用层…...

《javaEE篇》--单例模式详解
目录 单例模式 饿汉模式 懒汉模式 懒汉模式(优化) 指令重排序 总结 单例模式 单例模式属于一种设计模式,设计模式就好比是一种固定代码套路类似于棋谱,是由前人总结并且记录下来我们可以直接使用的代码设计思路。 单例模式就是,在有…...
Java核心 - Lambda表达式详解与应用示例
作者:逍遥Sean 简介:一个主修Java的Web网站\游戏服务器后端开发者 主页:https://blog.csdn.net/Ureliable 觉得博主文章不错的话,可以三连支持一下~ 如有疑问和建议,请私信或评论留言! 前言 Lambda表达式是…...

算法通关:006_1二分查找
二分查找 查找一个数组里面是否存在num主要代码运行结果 详细写法自动生成数组和num,利用对数器查看二分代码是否正确 查找一个数组里面是否存在num 主要代码 /*** Author: ggdpzhk* CreateTime: 2024-07-27*/ public class cg {//二分查找public static boolean …...

总结一些vue3小知识3
总结一些vue3小知识1:http://t.csdnimg.cn/C5vER 总结一些vue3小知识2:http://t.csdnimg.cn/sscid 1.限制时间选择器只能选择后面的日期 说明:disabled-date属性是一个用来判断该日期是否被禁用的函数,接受一个 Date 对象作为参…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...