mysql一般在安裝成功後,會在初始化時候建立幾個庫:
information_schema、mysql、peformance_schema、sys、和test。(好像主要看版本,不過前面三個是一定會被建立的)
對於information_schema和mysql這兩個庫,在我的原先一篇文章中介紹都已經挺齊全的了,
這裡就只做一下簡要介紹裡面的關鍵表。(後面三個庫,感覺,沒多大用處,就不介紹了)
系統表的簡介
1:information_schema中的關鍵系統表1
4schemata:當前mysql中所有資料庫的資訊
tables:關於資料庫中的表的資訊
columns:關於表中的列資訊
user_privileges:關於使用者許可權的資訊
2:mysql中的關鍵系統表1user:使用者列、許可權列、安全列、資源控制列的資訊
3:對於關鍵資料庫的詳細資訊,請參考文章
如何利用系統表獲取mysql中的庫表列資料和使用者資訊
1:查庫
1select * from schemata;
2:查表
3select * from tables;
select * from tables limit 0,1;
select * from tables where table_schema='schema_name';
3:查列(dvwa)
1select * from columns where table_name='table_name';
4:查資料(dvwa)
1select * from dvwa.users;
5:查使用者
3select * from user_privileges;
select * from user_privileges where grantee="'user'@'host'";
select * from mysql.user;
如何利用資料庫的功能讀寫文件
mysql讀寫文件的方式大體有三類,(不同的版本支援的情況不同)
1、load_file
2、load data infile
3、select sql outfile
4、system
1:load_file
條件:1
9(1)文件許可權和大小:當前許可權對該文件可讀、文件大小小於max_allowed_packet。
(2)使用者許可權:當前資料庫使用者有file許可權
(3)可操作路徑:檢視secure_file_priv,如果值為某目錄,那麼就只能對該目錄的文件進行操作
secure_file_priv是用來限制load_file、load data和select sql outfile操作哪個指定目錄。
secure_file_priv的值為null,表示限制mysql不允許匯入/匯出
secure_file_priv的值為具體目錄,表示限制mysql的匯入/匯出只能發生該目錄下
secure_file_priv沒有具體值時,表示不對mysql的匯入/匯出做限制
演示:目標/etc/passwd
檢視當前使用者許可權
檢視可操作路徑
讀取文件
4create database test;
use test;
crate table user(data text);
insert into user(data) values(load_file('/etc/passwd'));
修改配置文件後重啟服務再讀取
2:load data infile
條件:3文件許可權【讀或寫】
使用者許可權【file】
可操作路徑【secure_file_priv】
演示:1load data infile '/etc/passwd' into table user;
3:select sql into outfile
條件3寫入路徑許可權【寫】
使用者許可權【file】
可操作路徑【secure_file_priv】
演示2select '<?php phpinfo();?>' into outfile "/tmp/data.php";
select '<?php phpinfo();?>' into outfile "/var/www/html/data.php"
4:system
條件:看具體的版本(這種方法只能本地讀取,不能在遠端連線時候使用,具體這點我沒有測試過)
演示:如何爆破資料庫的使用者密碼
1:2:
hashcat
其實不算跑出來,我在後來修改了爆破的字典的。
參考mysql資料庫系統表詳細說明參考:
利用資料庫的功能讀寫文件參考:
hashcat參考:
mysql常用系統表
select from information schema.tables where table schema 資料庫名 select from information schema.columns where table schema 資料庫名 and table name 表名 select ...
mysql 如何表資料 mysql資料表如何建立
在 mysql 中,可以使用 create table 語句建立表。其語法格式為 create table 表定義選項 表選項 分割槽選項 其中,表定義選項 的格式為 create table 命令語法比較多,其主要是由表建立定義 create definition 表選項 table option...
sql資料庫系統表和mysql系統表
sql資料庫系統表,常用的 sysobjects,sysindexes,sysindexkeys,syscolumns,systypes 及更多解釋說明 系統儲存過程sp spaceused 執行sp spaceused儲存過程的時候可以不用帶引數,直接執行,或者exec sp spaceused都...