漏洞挖掘 | 基于mssql数据库的sql注入

前记

今天挖edu随意点开个站,发现存在mssql数据库的sql注入,在此分享下整个挖掘过程

目录

0x1 判断网站数据库类型 0x2 了解mssql数据库的主要三大系统表 0x3 了解mssql的主要函数 0x4 判断注入点及其注入类型 0x5 联合查询之判断列数 0x6 联合查询之获取数据库相关信息 0x7 mssql之时间盲注 0x8 mssql之报错注入 0x9 总结

0x1 判断网站数据库类型

•根据后缀进行判断,mssql数据库一般后缀为aspx,只要是后缀为aspx的站一般都是mssql数据库

•根据报错的信息进行判断,一般报错信息中会有Microsoft等字样,如下图所示

图片

•根据系统表进行判断,利用mssql数据库包含的主要系统表进行判断,例如and (select count(*)from sysdatabases) >0如果成立,则可判断数据库中包含mssql的主要系统表,但是这个方法不绝对,可能出于安全考虑,数据库管理员会删除主要系统表

0x2 了解mssql数据库的主要三大系统表

•sysdatabases :这张表保存在master数据库中,里边的name字段下存放的是所有数据库的库名。

•sysobjects:这张表保存的是数据库的表的信息。

•syscolumns:这张表存放的是数据库中字段的信息。

0x3 了解mssql的主要函数

•host_name() :返回服务器端主机名称。

•current_user():返回当前数据库用户。

•db_name():返回当前数据库库名 。

0x4 判断注入点及其注入类型

这里注入点就不用判断了,点进子栏目发现就一个参数,此参数就是注入点了

图片

直接一个万能’(单引号)然后报错

图片

直接使用55-1判断其数据类型

图片

发现页面成功回显,于是可以确定是数字型

0x5 联合查询之判断列数

使用order by判断其列数

图片

可以看到order by 4正常返回

图片

order by 5 报错,可以判断列数为4

然后使用UNION SELECT来判断 按理来说,UNION SELECT 1,2,3,4应该正常回显,但是不知道是配置原因还是什么原因还是报错,但是还是可以从细微上的差别来区分列数是否正确

当列数设为其他时,报错信息如下

图片

但是列数设为4时,报错信息有所不同,如下图所示,多了一片

图片

0x6 联合查询之获取数据库相关信息

既然UNION SELECT 能正常使用,那我们就可以通过这个直接判断显位输出数据库的相关信息了

前面提到了mssql的三大系统表,这里就是从系统表中查询数据 使用:UNION SELECT 1,2,3,4 from master..sysdatabases

图片

图片

可以看到在显位处于第一列,直接从第一列使用mssql函数db_name()获取数据库信息

0x7 mssql之时间盲注

页面正常返回时间为

图片

我们直接使用时间盲注的函数WAITFOR DELAY ‘0:0:5’进行测试

图片

可以看到页面延迟返回,说明存在时间盲注(本站还存在堆叠注入,但是在此不做演示)

0x8 mssql之报错注入

mssql数据库的报错注入与其他数据库类似

直接使用and 1=(select db_name())获取当前数据库

图片

这里我们使用的是and 1=()进行报错,所以一次只能获取一个值,如果想获取其他值可以使用top函数进行操作,这里不做演示

获取表名:and%201=%20(select%20top%201%20name%20from%20获取的数据库名字..sysobjects%20where%20xtype%20=%200x75)

在mssql中xtype为指定数据类型,0x75对应的数据类型为NVARCHAR

图片

后续不进行测试

0x9 总结

sql注入漏洞挖掘主要还是需要了解各类型的数据库怎么操作,数据库的系统表有哪些,对应的函数有哪些,对过滤机制的绕过手法(虽然本次漏洞挖掘没有涉及到绕过),建议有时间还是需要深入学习一下各类数据库,不仅对漏洞挖掘有帮助,反之对以后可能需要涉及到的安全开发也有很大帮助,比如如何过滤危险函数啊,如何清洗用户输入的数据啊等

最后也是拿下两个中危

图片


 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/454350.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring源码拓展点3之addBeanPostProcesser

概述 在refresh方法中的prepareBeanFactory方法中,有一个拓展点:addBeanPostProcessor。即通过注入Aware对象从而将容器中的某些值设置到某个bean中。 beanFactory.addBeanPostProcessor(new ApplicationContextAwareProcessor(this));aware接口调用 …

华为配置 之 Console线路配置

目录 简介: 知识点: 配置Console线路密码 1.密码认证模式 2.AAA认证模式 知识点: 总结: 简介: 使用PC模拟器与路由器相连(与交换机相连原理一样),在关机状态下,使用…

手机玩黑色沙漠?GameViewer远程玩黑色沙漠教程

黑色沙漠的国服即将在10月24日迎来公测!这是一款玩法多元的大型多人在线角色扮演游戏,你可以享受激烈的战斗,也可以感受惬意的生活,在这个游戏里你能体验到一个不一样的冒险故事。不管你是老玩家还是新玩家,只要你想玩…

鸿蒙开发:实现一个超简单的网格拖拽

前言 网格拖拽,此功能很是常见,一般用于频道的编辑或者条目顺序的排列,在鸿蒙的开发中,针对网格的编辑,系统也给出了相关的Api,通过onItemDragStart和在onItemDrop即可轻松实现,onItemDragStart…

Linux LVS详解

LVS(Linux Virtual Server)即Linux虚拟服务器,是一个基于Linux操作系统的高性能、可扩展的负载均衡器。以下是对LVS的详细介绍: 一、简介 LVS项目由章文嵩博士在1998年5月发起,是中国国内最早出现的自由软件项目之一…

Flutter Container容器组件实战案例

The Container widget is your design toolkit. It’s like the master builder that helps you structure and style your UI elements with precision. Whether you’re creating simple designs or complex layouts, the Container is your trusty tool for the job. “容器…

如何在算家云搭建GPT-SOVITS(语音转换)

一、模型介绍 GPT-SOVITS是一款强大的小样本语音转换和文本转语音 WebUI工具。它集成了声音伴奏分离、自动训练集分割、中文ASR和文本标注等辅助工具。 具有以下特征: 零样本 TTS: 输入 5 秒的声音样本并体验即时文本到语音的转换。少量样本 TTS&…

ESC服务器被暴力破解如何解决

使用fail2ban解决 黑客怎么暴力破解的?安装教程一些命令 黑客怎么暴力破解的? 他们一般是用脚本扫描公网上的ip地址, 一个个ping, 如果ping通了, 就开始以这个公网ip尝试连接服务器, 比如使用ssh, 接下来就输入密码了, 暴力破解他们一般都有密码表的, 一个个试, 密码简单很容…

【赵渝强老师】Oracle的参数文件与告警日志文件

一、Oracle的参数文件 在Oracle数据库中,参数文件在通常情况下指的就是初始化参数文件(Initialization Parameter File)。在参数文件中包括了初始化参数文件和服务器端参数文件。在Oracle数据库启动的时候就会读取参数文件,然后根据参数文件…

C++ 进阶:类相关特性的深入探讨

⭐在对C 中类的6个默认成员函数有了初步了解之后,现在我们进行对类相关特性的深入探讨! 🔥🔥🔥【C】类的默认成员函数:深入剖析与应用(上) 【C】类的默认成员函数:深入剖…

python实战项目46:selenium爬取百度新闻

python实战项目46:selenium爬取百度新闻 一、项目简介二、完整代码一、项目简介 思路是首先使用selenium打开百度新闻页面,然后实现翻页操作,获取每条新闻的标题和链接。接下来的问题是,在遍历标题和链接,对每一个链接发送请求时,发现会弹出百度安全验证,本文的思路是使…

浪潮云启操作系统(InLinux)bcache缓存实践:理解OpenStack环境下虚拟机卷、Ceph OSD、bcache设备之间的映射关系

前言 在OpenStack平台上,采用bcache加速ceph分布式存储的方案被广泛用于企业和云环境。一方面,Ceph作为分布式存储系统,与虚拟机存储卷紧密结合,可以提供高可用和高性能的存储服务。另一方面,bcache作为混合存储方案&…

新版idea菜单栏展开与合并

新版idea把菜单栏合并了看着很是不习惯,找了半天原来在这里展开 ① 点击文件 -> 设置 ② 点击外观与行为 -> 外观 -> 合并主菜单和窗口标题 然后确定,重启即可

HTML作业

作业 复现下面的图片 复现结果 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><form action"#"method"get"enctype"text/plain"><…

演示:基于WPF的DrawingVisual开发的高刷新率示波器

一、目的&#xff1a;分享一个基于WPF的DrawingVisual开发的高刷新率示波器 二、效果演示 特此说明&#xff1a;由于Gif录制工具帧率不够&#xff0c;渲染60帧用了4.6秒&#xff0c;平均帧率在12Hz左右&#xff0c;所以展示效果不好&#xff0c;想要看好些的效果可以看文章下面…

【目标检测2024】DetCLIP

算法介绍 CLIP&#xff08;Contrastive Language-Image Pre-Training&#xff09;模型是一种多模态预训练神经网络&#xff0c;由OpenAI在2021年发布&#xff0c;是从自然语言监督中学习的一种有效且可扩展的方法。CLIP在预训练期间学习执行广泛的任务&#xff0c;包括OCR&…

DORA 机器人中间件学习教程(6)——激光点云预处理

文章目录 1 移植思路2 代码输入输出说明3 编写CmakeList.txt文件4 编写yml文件5 编译并启动节点参考资料 在DORA中通过驱动获取激光雷达数据后&#xff0c;激光点云预处理部分代码是参考了autoware官方代码并对其进行裁剪得到的&#xff0c;点云预处理主要包含三个节点&#xf…

32.第二阶段x86游戏实战2-遍历技能2(技能二叉树基址)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

[数据集][目标检测]电力场景输电线路巡检检测数据集VOC+YOLO格式8667张50类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8667 标注数量(xml文件个数)&#xff1a;8667 标注数量(txt文件个数)&#xff1a;8667 标注…

双碳目标下储能产业新趋势与架构

0.引言 储能技术涉及能量的存储和利用&#xff0c;对电力系统平衡至关重要。它允许电力在需求时被储存和释放&#xff0c;对电力生产和消费方式产生重大影响。随着全球应对气候变化&#xff0c;风能和太阳能成为主要能源&#xff0c;但其不稳定性需要储能技术来提高可靠性。储…