Mysql UDF提權方法
阿新 • • 發佈:2020-07-15
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檔案匯出到該目錄。
在sqlmap中可以匯入udf
複製到新建目錄
create function sys_eval returns string soname "lib_mysqludf_sys.dll"; --引用共享庫檔案建立儲存過程
成功執行命令,可以看到當前許可權為administrator
刪除該函式
參考
https://www.cnblogs.com/sijidou/p/10522972.html
https://www.jianshu.com/p/5b34c1b6dee7
https://blog.csdn.net/qq_26090065/article/details/81515355