資料庫內置系統表學習

来源:https://www.cnblogs.com/-xiaopeng1/archive/2022/10/12/16785044.html
-Advertisement-
Play Games

一、MySQL資料庫內置系統表 mysql5.7之後的版本自帶資料庫為 1.information_schema資料庫 這個庫在mysql中就是個信息資料庫,它保存著mysql伺服器所維護的所有其他資料庫的信息,包括了資料庫名,表名,欄位名等。在註入中,infromation_schema庫的作用無 ...


一、MySQL資料庫內置系統表

mysql5.7之後的版本自帶資料庫為

1.information_schema資料庫

這個庫在mysql中就是個信息資料庫,它保存著mysql伺服器所維護的所有其他資料庫的信息,包括了資料庫名,表名,欄位名等。在註入中,infromation_schema庫的作用無非就是可以獲取到table_schema、table_name、column_name這些資料庫內的信息。

所包含的主要表

tables表

存儲資料庫中的表信息(包括視圖),包括表屬於哪個資料庫,表的類型、存儲引擎、創建時間等信息。

查詢所有的表名

columns表

存儲表中的列信息,包括表有多少列、每個列的類型等

查詢某個表的欄位名

schemata

當前 mysql 實例中所有資料庫的信息。SHOW DATABASES; 命令從這個表獲取數據

查詢:

獲取用戶名:select user();

獲取許可權:

獲取庫名:select schema_name from information_schema.schemata

獲取表名:select table_name from information_schema.tables where table_schema='test';

獲取欄位名:selcet column_name from information_schema.columns where table_name='students'

2、mysql資料庫

mysql 的核心資料庫,類似於 sql server 中的 master 表,主要負責存儲資料庫的用戶、許可權設置、關鍵字等 mysql 自己需要使用的控制和管理信息。(常用的如在 mysql.user 表中修改 root 用戶的密碼)。

其中最主要的是user表,在user表中,主要的欄位有user,password,host

在低版本mysql中,密碼欄位是password,高版本中是authentication_string

3、performance_schema資料庫

PERFORMANCE_SCHEMA 主要用於收集資料庫伺服器性能參數,並且庫里的表的存儲引擎均為 PERFORMANCE_SCHEMA,用戶不能創建存儲引擎為 PERFORMANCE_SCHEMA 的表。

performance_schema在5.7.x及以上版本中預設啟用(5.6.x及以下版本預設關閉)。如果要顯式啟用或關閉,我們需要使用參數performance_schema=ON|OFF設置,併在my.cnf中進行配置。

4、sys資料庫

這個資料庫主要是為了資料庫管理人員排錯使用的,主要反映資料庫性能的。

因為sys系統庫提供了一些代替直接訪問performance_schema的視圖,所

以必須啟用performance_schema(將performance_schema系統參數設置為ON),sys系統庫的大部分功能才能正常使用。同時要完全訪問sys系統庫,用戶必須具有以下資料庫的管理員許可權。

sys_config:這是在這個系統哭上存在的唯一一個表

variable:配置選項名稱

value:配置選項值

set_time:該行配置修改的時間

set_by:該行配置信息修改者,如果從被安裝沒有修改過,那麼這個數據應該為NULL

5、MySQL文件讀寫

(1)讀文件loadfile函數

滿足條件:

  • 當前資料庫用戶具有 FILE 許可權,使用 show grants 查看
  • secure_file_priv 不為 NULL,使用 select @@secure_file_priv 查看其值,值不為空字元串時,只能使用該目錄進行文件讀寫操作
  • 讀取文件的大小小於 max_allowed_packet,使用 select @@max_allowed_packet 查看
  • 文件及路徑存在

修改secure_file_priv

打開配置文件/etc/etc/my.cnf.d/mysql-server.cnf

然後在[mysqld]中添加secure_file_priv=

然後查詢;

loadfile函數

load_file() 函數只能從伺服器讀取文件,LOAD DATA 語句既能讀取伺服器的文件,也能讀取客戶機的文件,通過使用 LOCAL 語句從客戶機讀取文件內容。

(2)寫文件

into outfile

mysqldump寫文件

mysqldump -u 用戶名 -p 密碼 資料庫 數據表 > 路徑

二、mssql資料庫內置表

1、系統預設資料庫

mssql新安裝後預設有四個資料庫

(1)master:master 資料庫記錄 SQL Server 系統的所有系統級信息。 這包括實例範圍的元數據(例如登錄帳戶)、端點、鏈接伺服器和系統配置設置。 在 SQL Server中,系統對象不再存儲在 master 資料庫中,而是存儲在 Resource 資料庫中。 此外, master 資料庫還記錄了所有其他資料庫的存在、資料庫文件的位置以及 SQL Server的初始化信息。 因此,如果 SQL Server master 資料庫不可用,則 無法啟動。

(2)model 資料庫用於在 SQL Server 實例上創建所有資料庫的模板。 因為每次啟動 時都會創建 tempdb SQL Server ,所以 model 資料庫必須始終存在於 SQL Server 系統中。 model 資料庫的全部內容(包括資料庫選項)都會被覆制到新的資料庫。 啟動期間,也可使用 model 資料庫的某些設置創建新的 tempdb ,因此 model 資料庫必須始終存在於 SQL Server 系統中。

model 的用法:當發出 CREATE DATABASE 語句時,將通過複製 model 資料庫中的內容來創建資料庫的第一部分, 然後用空頁填充新資料庫的剩餘部分。如果修改 model 資料庫,之後創建的所有資料庫都將繼承這些修改。

(3)msdb 資料庫由SQL Server 代理用於計劃警報和作業,以及其他功能。

(4)tempdb顯式創建的臨時用戶對象。 它們包括全局或局部臨時表及索引、臨時存儲過程、表變數、表值函數返回的表或游標。

tempdb 中的操作是最小日誌記錄操作,以便回滾事務。 每次啟動 SQL Server 時都會重新創建 tempdb,從而在系統啟動時總是具有一個乾凈的資料庫副本。 在斷開聯接時會自動刪除臨時表和存儲過程,並且在系統關閉後沒有活動連接。tempdb 不會有什麼內容從 SQL Server 的一個會話保存到另一個會話。 不允許對 tempdb 執行備份和還原操作。

Sql Server中創建資料庫中預設表的作用

select @@version;查詢資料庫版本

select db_name();查詢當前資料庫

查詢表名

查詢欄位名

select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='Student');

sa:在搭建時,選擇使用SQL Server身份驗證會創建SA賬戶並設置密碼,SA(System Administrator)表示系統管理員,在SQLServer2019之前的SA用戶都是系統最高許可權用戶SYSTEM,但在2019版本時為普通資料庫用戶mssqlserver,是一個低權用戶。

mssql的三種許可權級別:

sa許可權:資料庫操作,文件管理,命令執行,註冊表讀取等價於system,SQLServer資料庫的最高許可權

db許可權:文件管理,資料庫操作等價於 users-administrators

public許可權:資料庫操作等價於 guest-users

select is_srvrolemember('sysadmin') ;#判斷是不是管理員許可權

寫文件

xp_cmdshell是Sql Server中的一個組件,預設關閉,將命令字元串作為操作系統命令 shell 執行,並以文本行的形式返回所有輸出。通常在拿到sa口令之後,可以通過xp_cmdshell來進行提權,

查看是否開啟xp_cmdshell

select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'

返回1說明開啟

EXECUTE sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
EXECUTE sp_configure 'xp_cmdshell', 1;  
GO  
RECONFIGURE;  
GO

(1)判斷文件是否存在sys.xp_fileexist

0表示不存在,1表示存在

sys.xp_create_subdir 用於創建子目錄,參數是子目錄的路徑:

exec master.sys.xp_create_subdir 'c:\User\root\hack'

(2)創建好目錄後,就可以寫文件;但是需開啟xp_cmdshell組件

(3)一般思路為拿到許可權後先創建一個表,然後把文件寫入表,最後從表讀取文件

三、hashcat破解哈希

1、hashcat使用

Hashcat 是一款用於破解密碼的工具,據說是世界上最快最高級的密碼破解工具,支持 LM 哈希、MD5、SHA 等系列的密碼破解,同時也支持 Linux、Mac、Windows 平臺。

常用參數

-r  使用自定義破解規則
-o  指定破解成功後的 hash 及所對應的明文密碼的存放位置
-m  指定要破解的 hash 類型,如果不指定類型,則預設是 MD5
-a  指定要使用的破解模式,其值參考後面對參數。“-a 0” 字典攻擊,“-a 1” 組合攻擊;“-a 3” 掩碼攻擊
-D  指定 opencl 的設備類型
--show      顯示已經破解的 hash 及該 hash 所對應的明文
--force     忽略破解過程中的警告信息,跑單條 hash 可能需要加上此選項
--remove    刪除已被破解成功的 hash
--username      忽略 hash 文件中的指定的用戶名,在破解 linux 系統用戶密碼 hash 可能會用到
--increment     啟用增量破解模式,你可以利用此模式讓 hashcat 在指定的密碼長度範圍內執行破解過程
--increment-min         密碼最小長度,後面直接等於一個整數即可,配置 increment 模式一起使用
--increment-max         密碼最大長度,同上
--outfile-format        指定破解結果的輸出格式 id ,預設是 3
--self-test-disable 關閉啟動自檢

爆破模式

-a

0 | Straight    (欄位破解)
1 | Combination (組合破解)
3 | Brute-force (掩碼暴力破解)
6 | Hybrid Wordlist + Mask(字典+掩碼破解)
7 | Hybrid Mask + Wordlist(掩碼+字典破解)

字元類型

掩碼舉例

八位數字密碼:?d?d?d?d?d?d?d?d
八位未知密碼:?a?a?a?a?a?a?a?a
前四位為大寫字母,後面四位為數字:?u?u?u?u?d?d?d?d
前四位為數字或者是小寫字母,後四位為大寫字母或者數字:?h?h?h?h?H?H?H?H
前三個字元未知,中間為admin,後三位未知:?a?a?aadmin?a?a?a
6-8位數字密碼:--increment --increment-min 6 --increment-max 8 ?d?d?d?d?d?d?d?d
6-8位數字+小寫字母密碼:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h

使用示例:

mysqlhash破解

查詢

將哈希保存為本地文件然後用hashcat破解


mssql哈希破解

查詢

select name,password_hash from sys.sql_logins where name='sa'

然後把hash保存進行破解

mssql各版本加密形式

mssql2000

select name,password from master.dbo.sysxlogins 
Hash格式: 
0x0100(固定) + 8位key+40位HASH1 +40位HASH2
0x0100AC78A243F2E61FA800A7231C501D49CDA5B93A8A2294DC68AE487C99233F245F86A9ED5749F1838021EE1610

MSSQL 2005版本

select name,password_hash from sys.sql_logins
Hash格式:
0x0100(固定) +8位key+ 20位HASH1 + 20位HASH2 
0x01004086CEB698DB9D0295DBF84F496FDDCECADE1AE5875EB294

MSSQL 2008 R2版本

Select name,password_hash from sys.sql_logins where name = 'sa'
Hash格式:
0x0100(固定) +8位key+ 20位HASH1 + 20位HASH2 
0x0100A9A79055CACB976F1BE9405D2F7BE7B2A98003007978F821
作者:江公 出處:http://www.cnblogs.com/-xiaopeng1/ 本文版權歸作者和博客園共有,歡迎轉載,但必須給出原文鏈接,並保留此段聲明,否則保留追究法律責任的權利。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:背景 1.講故事 前些天有位朋友微信找到我,說他的程式出現了CPU階段性爆高,過了一會就下去了,咨詢下這個爆高階段程式內部到底發生了什麼? 畫個圖大概是下麵這樣,你懂的。 按經驗來說,這種情況一般是程式在做 CPU 密集型運算,所以讓朋友在 CPU 高的時候間隔 5~10s 抓兩個 dump 下 ...
  • nginx平滑升級及nginx配置文件 nginx平滑升級並添加新功能 1.先獲取老版本的編譯信息 2.獲取新版本安裝包和功能包 3.配置新版本或功能,配置時加上老版本的編譯參數,然後添加新功能模塊 4.進行編譯,編譯完不進行安裝操作 5.備份老版本程式,使用複製的方法。在停掉老版本程式的進程,將新 ...
  • 作為電腦畢業的我,說起來慚愧,大學時候很多重要的專業課都沒好好聽過,慶幸的是,大學的很多教師課件我都有保存下來。這幾天,把《操作系統》拿起來看看,然後涉及到一些我認為重要的理論知識我會在這個專題都會記錄下來,這將會是一個持續的過程。 1、操作系統的目標 2、操作系統的作用 其中:四類資源是:處理器 ...
  • 最近谷歌官方宣稱由於使用人數少,關停了中國的翻譯服務,導致谷歌瀏覽器上的翻譯服務無法使用,當我們使用谷歌瀏覽器自帶翻譯功能時,會報出:無法翻譯此網頁,或者沒有翻譯反應。 在macOS下怎麼解決谷歌瀏覽器Chrome無法翻譯呢?下麵小編來教你快速解決。 1、打開終端(commond+空格 搜索“終端” ...
  • 一、CentOS 7.9 安裝 elasticsearch-7.8.1 地址 https://www.elastic.co https://www.elastic.co/cn/downloads/past-releases https://github.com/elastic https://git ...
  • 分離部署LNMP 環境說明: | 系統 | 主機名 | IP | 服務 | | | | | | | centos8 | nginx | 192.168.111.141 | nginx | | centos8 | mysql | 192.168.111.142 | mysql | | centos8 ...
  • nginx 一、nginx簡介 nginx(發音同engine x)是一款輕量級的Web伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,併在一個BSD-like協議下發行。 nginx由俄羅斯的程式設計師Igor Sysoev所開發,最初供俄國大型的入口網站及搜尋引擎Rambler ...
  • Redis有3種實現持久化的方式:AOF日誌、RDB快照、混合持久化 Redis寫入AOF日誌的過程 Redis執行完寫操作命令後,將命令追加到server.aof_buf緩衝區 通過write()系統調用,將aof_buf緩衝區的數據寫入到AOF文件 數據被拷貝到了內核緩衝區page cache ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...