MySQL、MSSQL 基本語法
MySQL、MSSQL 基本語法
所有 MySQL 語法最後都要有 ";" 結尾
只知 MySQL Database Server IP : 192.168.203.16
使用者帳號與密碼 : root/root (此 root 非系統 root 帳號,只是剛好一樣)
MySQL 登入指令 └─$ mysql -u root -p'root' -h 192.168.203.16 -P 3306
查看版本指令 select version();
驗證當前登入的資料庫用戶與登入主機 select system_user();
列出所有 Database 指令 show databases;
選擇使用特定資料庫 mysql 指令 use mysql;
列舉出此資料庫當中的所有 Table,指令 show tables;
可以看到有幾個 time 開頭的 table,若只要看特定字串的 table 可以用 like
指令 show tables like 'time%';
查看特定 table 中的所有欄位,例如要查看 user table 當中的欄位
指令 show columns from user; (這是因為我們已經在 mysql 這個資料名稱下)
若在頂層指令可以改成 show columns from mysql.user;
頂層直接下 show columns from mysql.user; 結果一樣
上述都是用 show 但若要顯示特定資料庫中的特定表當中的幾個特定欄位的值要用 select
以上面 user table 為例,若只要顯示 user、authentication_string、plugin 三個欄位
語法 SELECT user, authentication_string, plugin FROM mysql.user;
可以看到有好幾個使用者
若只要看當中使用者 offsec 的特定資訊,可以在後面加上 WHERE 語法如下
SELECT user, authentication_string FROM mysql.user WHERE user = 'offsec';
若資料庫類型為 MSSQL, 那麼相關的指令如下
連接資料庫指令使用 impacket 當中的 mssqlclient 這個工具來實現
帳號/密碼 : administrator/Lab123
impacket-mssqlclient Administrator:Lab123@192.168.203.16 -windows-auth
查看當前版本指令 SELECT @@version;
列舉所有可用的資料庫,指令 SELECT name FROM sys.databases;
當中 master、tempdb、model、msdb 為系統預設資料庫
查找特定資料庫 offsec 當中的所有 Tables
語法 SELECT * FROM offsec.information_schema.tables;
列出 users 表中的欄位與值,指令 select * from offsec.dbo.users;
練習 1 :
從 Kali Linux VM 中,連接到 VM 上的遠程 MySQL 實例,探索分配給用戶 offsec 的所有值。
哪個插件值用作密碼身份驗證方案?
答案 : caching_sha2_password
語法 : select user, plugin from mysql.user;
練習 2 :
從 Kali Linux VM 中,連接到 VM 上的遠程 MSSQL 實例。探索 master 數據庫內 sysusers 表的記錄。列出的第一個用戶是甚麼?
答案 : public
語法 SQL> select uid,status,name from master.dbo.sysusers;
練習 3 :
從 Kali Linux VM 中,連接到 VM 3 上的遠程 MySQL 實例,並瀏覽其中一個數據庫中存在的用戶表以獲取標誌。
語法 :
留言
張貼留言