一道CTF题目引发的Mysql的udf学习

本文介绍了由CTF题目引发的MySQL User Defined Function(UDF)学习,讲解了UDF的特性、编写过程以及如何在MySQL中安装和使用。通过示例展示了UDF的C++函数定义,并提到了UDF在安全领域的提权应用场景,提供了相关参考资料。
摘要由CSDN通过智能技术生成

一道CTF题目引发的Mysql的udf学习

关键词:
UDF:
User defined Function
查看Mysql插件路径
Select @@plugin_dir  
Show variables like “plugin%”

UDF是Mysql的一个拓展接口,可以用户自定义函数 ,是拓展mysql自带函数满足不了要求的情况。
UDF的特性,函数能返回字符串、整数或实数

语法:

CREATE FUNCTION/DROP FUNCTION语法

CREATE[AGGREGATE]FUNCTION function_name RETURNS {STRING|INEGER|REAL}   SONAME shared_library_name

DROP FUNCTION function_name

Funtion_name是用在SQL声明中以备调用的函数名字,RETURNS子句说明函数返回值的类型。Shared_library_name是共享目标文件的基本名,共享目标文件含有实现函数的代码。该文件必须位于一个能被你系统的动态连接或者搜索的目录里。

你必须有mysql 数据库的INSERT 权限才能创建一个函数,你必须有mysql 数据库的DELETE权限才能撤销一个函数。这是因为CREATE FUNCTION 往记录函数名字,类型和共享名的mysql.func系统表里添加了一行,而DROP FUNCTION则是从表中删掉这一行。
show grants for test
值得注意的是,要使得UDF机制能够起作用,必须使用C或者C++编写函数,你的系统必须支持动态加载,而且你必须是动态编译的mysqld(非静态)

udf编写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值