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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279783.html
標籤:其他
