亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql注入中的outfile、dumpfile、load_file函數(shù)詳解

 更新時間:2018年05月10日 11:39:29   投稿:mrr  
這篇文章主要介紹了Mysql注入中的outfile、dumpfile、load_file,需要的朋友可以參考下

在利用sql注入漏洞后期,最常用的就是通過mysql的file系列函數(shù)來進行讀取敏感文件或者寫入webshell,其中比較常用的函數(shù)有以下三個

  • into dumpfile()
  • into outfile()
  • load_file()

我們本次的測試數(shù)據(jù)如下

讀寫文件函數(shù)調(diào)用的限制

因為涉及到在服務(wù)器上寫入文件,所以上述函數(shù)能否成功執(zhí)行受到參數(shù) secure_file_priv 的影響。官方文檔中的描述如下

翻譯一下就是

  • 其中當參數(shù) secure_file_priv 為空時,對導入導出無限制
  • 當值為一個指定的目錄時,只能向指定的目錄導入導出
  • 當值被設(shè)置為NULL時,禁止導入導出功能

這個值可以通過命令 select @@secure_file_priv 查詢。由于這個參數(shù)不能動態(tài)更改,只能在mysql的配置文件中進行修改,然后重啟生效。

dumpfile與outfile的區(qū)別

導出數(shù)據(jù)庫場景下的差異

select …… into outfile

我們先來看一下mysql官方文檔里對于這兩個函數(shù)的解釋

其中有兩個值得注意的坑點

outfile函數(shù)可以導出多行,而dumpfile只能導出一行數(shù)據(jù)
outfile函數(shù)在將數(shù)據(jù)寫到文件里時有特殊的格式轉(zhuǎn)換,而dumpfile則保持原數(shù)據(jù)格式

我們接下來通過導出測試看看這里面的細節(jié)

首先通過命令 select * from test into outfile '/tmp/test.txt' 來使用outfile導出

可以看到文件 /tmp/test.txt 文件中保存了所有的數(shù)據(jù)并且在一行數(shù)據(jù)的末尾自動換行

通過查看官方文檔,可以看出使用如下參數(shù)可以進行格式調(diào)整

其中 FIELDS ESCAPED BY 可以用來對指定的字符進行轉(zhuǎn)義, FIELDS [OPTIONALLY] ENCLOSED BY 用來對字段值進行包裹, FIELDS TERMINATED BY 用來對字段值之間進行分割

例如使用如下命令 select * from test into outfile '/tmp/test.txt FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ' " 'LINES TERMINATED BY '\n'

得到的導出文件如下

select …… into dumpfile

而接著使用命令 select * from test into dumpfile '/tmp/test.txt' 使用dumpfile進行導出

可以看到此命令在執(zhí)行的時候提示輸出超過一行

查看文件內(nèi)容

可以看見通過dumpfile導出的數(shù)據(jù)行數(shù)據(jù)之間并未進行換行且只導出了部分數(shù)據(jù)

寫入webshell或者udf下的差異

 select …… into outfile

我們使用命令 select 'a\naa\raaaa' into outfile '/tmp/test.txt' 來看一下在常用的寫文件場景下的結(jié)果

可以看到outfile對導出內(nèi)容中的\n等特殊字符進行了轉(zhuǎn)義,并且在文件內(nèi)容的末尾增加了一個新行

我們接著使用命令 select 'a\naa\raaaa' into dumpfile '/tmp/test.txt' 來看一下

可以看到dumpfile對文件內(nèi)容是原意寫入,未做任何轉(zhuǎn)移和增加。這也就是為什么 我們在平常的UDF提權(quán)中使用dumpfile進行dll文件 寫入的原因

還有一個需要關(guān)注的點就是:outfile后面不能接0x開頭或者char轉(zhuǎn)換以后的路徑,只能是單引號路徑。這個問題在php注入中更加麻煩,因為會自動將單引號轉(zhuǎn)義成\',那么基本就GG了,但是load_file,后面的路徑可以是單引號、0x、char轉(zhuǎn)換的字符,但是路徑中的斜杠是/而不是\

總結(jié)

以上所述是小編給大家介紹的Mysql注入中的outfile、dumpfile、load_file函數(shù)詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • MySQL redo死鎖問題排查及解決過程分析

    MySQL redo死鎖問題排查及解決過程分析

    被告知在多實例場景下 MySQL Server hang 住,無法測試下去,原生版本不存在這個問題,而新版本上出現(xiàn)了這個問題,不禁心頭一顫,心中不禁感到奇怪,還好現(xiàn)場環(huán)境還在,為排查問題提供了一個好的環(huán)境,隨即便投入到緊張的問題排查過程當中
    2016-10-10
  • MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路

    MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路

    最近遇到的一個問題,需要在一張將近1000萬數(shù)據(jù)量的表中添加加一個字段,但是直接添加會導致mysql 奔潰,所以需要利用其他的方法進行添加,這篇文章主要給大家介紹了MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路,需要的朋友可以參考借鑒。
    2017-01-01
  • Mysql邏輯架構(gòu)詳解

    Mysql邏輯架構(gòu)詳解

    今天小編就為大家分享一篇關(guān)于Mysql邏輯架構(gòu)詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • MySQL中關(guān)于null值的一個小問題

    MySQL中關(guān)于null值的一個小問題

    這篇文章主要介紹了MySQL中關(guān)于null值的一個小問題,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • 詳解關(guān)于MySQL 8.0走過的坑

    詳解關(guān)于MySQL 8.0走過的坑

    這篇文章主要介紹了詳解關(guān)于MySQL 8.0走過的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 詳解MySQL數(shù)據(jù)庫--多表查詢--內(nèi)連接,外連接,子查詢,相關(guān)子查詢

    詳解MySQL數(shù)據(jù)庫--多表查詢--內(nèi)連接,外連接,子查詢,相關(guān)子查詢

    這篇文章主要介紹了MySQL多表查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • MySQL版oracle下scott用戶建表語句實例

    MySQL版oracle下scott用戶建表語句實例

    這篇文章主要給大家介紹了關(guān)于MySQL版oracle下scott用戶建表語句的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • MySQL中NULL和空值的區(qū)別及說明

    MySQL中NULL和空值的區(qū)別及說明

    這篇文章主要介紹了MySQL中NULL和空值的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL?根據(jù)多字段查詢重復(fù)數(shù)據(jù)的示例代碼

    MySQL?根據(jù)多字段查詢重復(fù)數(shù)據(jù)的示例代碼

    本文介紹了如何使用 MySQL 根據(jù)多個字段查詢重復(fù)數(shù)據(jù),我們介紹了如何根據(jù)多個字段查詢重復(fù)數(shù)據(jù),并提供了相應(yīng)的代碼示例,通過這些方法,我們可以快速準確地找到和處理重復(fù)數(shù)據(jù),提高數(shù)據(jù)庫的數(shù)據(jù)質(zhì)量,需要的朋友可以參考下
    2023-11-11
  • mysql?使用join進行多表關(guān)聯(lián)查詢的操作方法

    mysql?使用join進行多表關(guān)聯(lián)查詢的操作方法

    在一些報表統(tǒng)計或數(shù)據(jù)展示時候需要提取的數(shù)據(jù)分布在多個表中,這個時候需要進行join連表操作,join將兩個或多個表當成不同的數(shù)據(jù)集合,然后進行集合取交集運算,這篇文章主要介紹了mysql?使用join進行多表關(guān)聯(lián)查詢的操作方法,需要的朋友可以參考下
    2024-02-02

最新評論