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文件導出到該目錄。


在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


免責聲明!

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



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