1. 程式人生 > >Mysql UDF提權方法

Mysql UDF提權方法

##0x01 UDF UDF(user defined function)使用者自定義函式,是mysql的一個拓展介面。使用者可以通過自定義函式實現在mysql中無法方便實現的功能,其新增的新函式都可以在sql語句中呼叫,就像呼叫本機函式一樣。 ##0x02 windows下udf提權的條件 - 如果mysql版本大於5.1,udf.dll檔案必須放置在mysql安裝目錄的lib\plugin資料夾下/ - 如果mysql版本小於5.1, udf.dll檔案在windows server 2003下放置於c:\windows\system32目錄,在windows server 2000下放置在c:\winnt\system32目錄。 - 掌握mysql資料庫的賬戶,從擁有對mysql的insert和delete許可權,以建立和拋棄函式。 - 擁有可以將udf.dll寫入相應目錄的許可權。 ##0x03 提權方法 如果是mysql5.1及以上版本,必須要把udf.dll檔案放到mysql安裝目錄的lib\plugin資料夾下才能建立自定義函式。該目錄預設是不存在的,需要使用webshell找到mysql的安裝目錄,並在安裝目錄下建立lib\plugin資料夾,然後將udf.dll檔案匯出到該目錄。 ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221001275-1379482934.png) ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221007913-1295693276.png) 在sqlmap中可以匯入udf ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221013059-354124663.png) ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221033368-781909927.png) 複製到新建目錄 ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221043911-1927894818.png) ```mysql create function sys_eval returns string soname "lib_mysqludf_sys.dll"; --引用共享庫檔案建立儲存過程 ``` ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221114525-124454187.png) 成功執行命令,可以看到當前許可權為administrator ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221123521-695702054.png) 刪除該函式 ![](https://img2020.cnblogs.com/blog/1801637/202007/1801637-20200714221134765-265899755.png) 參考 https://www.cnblogs.com/sijidou/p/10522972.html https://www.jianshu.com/p/5b34c1b6dee7 https://blog.csdn.net/qq_26090065/article/details/81515355