MSSQL:我(蹦蹦跳跳地)来了

作者: 黑客网 分类: 黑客知识 发布时间: 2022-05-27 14:11

MSSQL:我(蹦蹦跳跳地)来了

继上篇文章
《六问MySQL?你敢来挑战吗?》https://www.anquanke.com/post/id/235236
笔记的重新的整理,MySQL技能又捡回来了不少。说实话,平时学习运用技能,很多情况都是遇到的MySQL(默认端口号3306),所以对SQL Server(默认端口号1433)比较陌生了。因此便有这一篇的学习笔记,思想均来自互联网,提供学习参考,如有谬误,敬请指正。

0x00 千里之行始于足下

搭建环境是后文实验的前题。但是搭建环境不是本文的重点,所以简要记录一下目标环境的搭建以及会遇到的问题:
(1)待搭建靶场压缩包:
Larryxi前辈的系统:https://github.com/Larryxi/MSSQL-SQLi-Labs.git
(2)安装ASP和Windows环境
参考文章:https://blog.csdn.net/a673216150/article/details/79286130
(3)配置config.asp文件,忘记sqlserver的sa用户密码
参考链接:https://jingyan.baidu.com/article/b0b63dbf8465580a4930705a.html
(4)数据库没有先建立数据库test,导致执行install失败:

MSSQL:我(蹦蹦跳跳地)来了

MSSQL:我(蹦蹦跳跳地)来了

如果读者遇到其他安装问题,可自行根据错误信息进行百度或者在下方留言求助。

0x01 秤砣虽小能压千斤 1、初步判断数据库类型

题外话,之前有小伙伴发出灵魂之问,面对一个网站的注入,怎么判断web后面是什么数据库类型?我当时语塞(面对这个问题,我还真回答不上来),只知道平时感觉差不多是MySQL,随便试试,然后(工具人)再用sqlmap扫一扫。所以针对这个问题,决定补补功课。

(1)常用的数据库

MySQL(3306)、SQL server(1433)、Oracle(1521)、PostgreSQL(5432)等等。

(2)判断方法

1)根据前端页面

①asp: SQL server
②.net:SQL server
③php:MySQL、PostgrrSQL
④java:MySQL、Oracle
通过上面大致判断。

2)根据扫描端口

(我在本地搭建了两个系统)

MSSQL:我(蹦蹦跳跳地)来了

上述端口号是默认端口号,基于网站管理员没有修改默认端口为其他端口。如果修改了,该方式就可能判断不出来。

3)根据各数据库特有函数

(目前我就搭建了MySQL和SQL server)
比如以下MySQL和SQL server查询版本函数不一样
MySQL:
select version();
select @@version;
两条语句都可以执行

SQL server:
select version();
select @@version;
version()不是内置函数名称

MSSQL:我(蹦蹦跳跳地)来了

再如MySQL和SQL server的求长度函数
MySQL:
select length(@@version)
select len(@@version)
len()函数不能被识别

MSSQL:我(蹦蹦跳跳地)来了

SQL server:
select length(@@version)
select len(@@version)
length()函数不能被识别

MSSQL:我(蹦蹦跳跳地)来了

(下次文章再试试Oracle)

4)根据注释符号

MySQL注释符:
#
--[] (中括号表示空格,必须要添加空格才能使MySQL注释符生效)
/**/ 多行注释符

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

标签云