在mysql中,把 information_schema 看作是乙個資料庫,確切說是資訊資料庫。其中儲存著關於mysql伺服器所維護的所有其他資料庫的資訊。如資料庫名,資料庫的表,字段型別與訪問權 限等。
查詢資料庫、表名、欄位等資訊
# 爆所有使用者
select group_concat(user) from mysql.user;
# 爆所有資料庫
select group_concat(schema_name) from information_schema.schemata;
# 爆當前資料庫的表名
select group_concat(table_name) from information_schema.tables where table_schema=database();
# 表中有主碼約束,非空約束等完整性約束條件的情況下 爆表名
select group_concat(table_name) from information_schema.table_constraints where table_schema=database();
# 爆欄位名(表名是 users,加引號或十六進製制編碼)
select group_concat(column_name) from information_schema.columns where table_name='users';
select group_concat(column_name) from information_schema.columns where table_name=0x7573657273;
# 爆欄位內容
select first_name,password from users;
這個是mysql的核心資料庫,類似於sql server中的master表,主要負責儲存資料庫的使用者、許可權設定、關鍵字等mysql自己需要使用的控制和管理資訊。不可以刪除,如果對mysql不是很了解,也不要輕易修改這個資料庫裡面的表資訊。
mysql 5.5開始新增乙個資料庫:performance_schema,主要用於收集資料庫伺服器效能引數。並且庫里表的儲存引擎performance_schema,而使用者是不能建立儲存引擎為performance_schema的表。
sys庫所有的資料來源來自:performance_schema。目標是把performance_schema的把複雜度降低,讓dba能更好的閱讀這個庫里的內容,讓dba更快的了解db的運**況。(詳情)
(1)資料庫允許匯入匯出(secure_file_priv不為null)
檢視資料庫是否開啟匯入匯出:
說明:secure_file_priv是用來限制load_file、load data和select outfile操作哪個指定目錄。
我這裡預設是/var/lib/mysql-files,可以通過以下方式修改:
vi /etc/mysql/mysql.conf.d/mysqld.cnf
在最後新增
secure file priv=''
重啟mysql服務:
service mysql restart
(2)當前使用者的檔案操作許可權(file_priv:y)
檢視當前使用者是否具有檔案讀寫許可權:
load_file()和load data infile讀取檔案的方法為:新建乙個表,讀取檔案為字串形式插入表中,然後讀出表中資料。
system cat後加檔案路徑。
select 』 』 into outfile如:
目標:dvwa的admin使用者的password
在hashcat資料夾新建
hash.txt(儲存要破解的hash值)
password.txt(儲存密碼字典)
使用cmd進入hashcat所在目錄,用以下命令進行破解:
hashcat -a 0 -m 0 hash.txt password.txt
-a 0 代表使用字典破解模式
-m 0 代表hash type為md5
結果:
破解記錄在hashcat.potfile檔案中可查
或可直接使用字典進行破解:
hashcat -a 0 5f4dcc3b5aa765d61d8327deb882cf99 password.txt
結果一致。
[1] 安裝初始化mysql後,預設幾個庫介紹
[2] sql注入讀寫檔案
[3] 資料庫系統表相關學習
[4] hashcat詳細使用教程
MySQL之重要的預設庫別刪及烏龍分享
因為還是學生的原因,資料庫中有之前練習的示例庫,今天打算清理一下的時候有個大烏龍,記錄下來免得以後再忘記 1 開心刪庫 登入mysql後我就show databases 先看看之前建的庫,然後先刪了些類似db 1這樣命名的庫,drop database 庫名稱 一切順利。因為時間太久,我忘記mysq...
mysql讀寫檔案
如何將檔案儲存到資料庫中呢,其實並不是想象中那麼難 主要的思路就是將檔案用byte陣列儲存,在資料庫中用 blob longblob mediumblob,他們是是乙個可以儲存 二進位制檔案 三者中的任意格式儲存就ok啦!下面看檔案具體如何寫入資料庫 eg string picname e bitm...
mysql讀取檔案 mysql讀寫檔案
1 需要條件 secure file priv不為null 1 限制mysqld 不允許匯入 匯出 secure file priv null或secure file priv 2 限制mysqld 的匯入 匯出 只能發生在 tmp 目錄下 secure file priv tmp 3 不對mysq...