SQL注入的時候,找到了注入點,但是老是搞不清怎么爆庫,最后還是得看大佬的WP
最后,終於下定決心自己整理一下爆庫的常用語句和思路,如果哪里寫的不對麻煩在評論區指出:-D
首先常用到的是這個數據庫
information_schema
里面有許多表,記載了整個mysql里的各種信息,一般用得到的表為這兩個
tables
tables表里面記載了整個數據庫里所有的表的信息
重要的列有
- table_name: 表名
- table_schema: 表所在數據庫名

這里我只查看了范例數據庫(my_data)里的這兩列
原來整個表的信息非常多,而且很長,我的屏幕是放不下,可以給你們感受下

—————————————————————————————————————————————————————
columns
columns表里記載了所有列的信息
重要的列有
- table_name: 列所在的表名
- table_schema: 列所在的數據庫的名字
- column_name: 列的名字
- datatype: 這一列的數據類型

爆庫基本流程
先爆出現在正在使用的數據庫的名字和版本
select database(),version();
database()函數返回正在使用的數據庫名
version()函數返回該數據庫的表名
接着看看這個數據庫里有什么
爆表名
select table_name from information_schema.tables where table_schema=database();
或
select table_name from information_schema.tables where table_schema='你查到的正在使用的數據庫的名字';
從這幾個表里選幾個來看里面的列名,全部一起看容易亂,畢竟是網頁里給出的位置在看,通常看起來會比較亂
比如我們這里查看student表里有什么列
select column_name from information_schema.columns where table_schema=database() and table_name='student';
注意名稱需要用引號 ' 括起來
萬事俱備,只欠東風,表名和列名都知道了,看就完了
select sname from student;
這里要注意,用網站給出的展示位來看這些信息的時候,大部分時候網頁只展示列的第一個信息,我們往往看不到所需要的信息。
這個時候就需要我們用group_concat()函數了
group_concat()函數可以將放入函數的所有信息用逗號隔開,連成一個字符串,這樣我們就可以成功爆庫了。
碼字好累hhhhhhh