有时候为了方便,利用event/trigger调用系统外部命令,可因为安全问题,mysql自身并没有提供相关命令,这里提供个调用系统命令的自定义函数mylab_sys_exec

so文件下载:mylab_sys_exec.so ( mysql5.1.34 测试通过)

加载:

CREATE FUNCTION mylab_sys_exec RETURNS INTEGER SONAME "mylab_sys_exec.so";

使用:

SELECT mylab_sys_exec ('CMD');

源码:

my_bool mylab_sys_exec_init (UDF_INIT *initid, UDF_ARGS *args, char *message );

void mylab_sys_exec_deinit (UDF_INIT *initid );

int mylab_sys_exec (UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error );

my_bool mylab_sys_exec_init( UDF_INIT *initid, UDF_ARGS *args, char *message )

{

if(args->arg_count == 1 && args->arg_type[0]==STRING_RESULT)

{

return 0;

} else {

strcpy( message, "One string type parameter expected");

return 1;

}

}

void mylab_sys_exec_deinit ( UDF_INIT *initid ){}

int mylab_sys_exec( UDF_INIT *initid , UDF_ARGS *args , char *is_null , char *error)

{

return system (args->args[0]);

}

hi.baidu.com/isno

Marco Ivaldi 几年前曾经发表过一个 raptor_udf2.c,演示了如何利用mysql udf入侵系统,但是这个mysql udf也演示了一个调用系统命令的方式。但是这一插件目前应经不能兼容mysql 5.0+,主要是已经不符合新的mysql udf的规范了,并且没有返回结果。

mysql User-Defined Functions 是 Roland Bouman 开发的一个新的调用系统命令的udf包,其中有三个函数:

sys_exec: 调用系统命令,执行外部程序

sys_get: 返回系统环境变量的值

sys_set: 设置系统环境变量

这一mysql udf 包是兼容mysql 5.0+ ,同时支持linux和windows。但是这一包也有一个问题,执行命令后返回是命令的exit_code ,而不是命令的执行结果。

Bernardo Damele A. G. 针对这一问题做了一个更新包,增加了一个sys_eval函数,这一函数命令执行成功返回执行结果,而如果错误返回NULL。

这里下载补丁: here

lib_mysqludf_sys version 0.0.2 在这里下载 here.

使用实例:

$ wget --no-check-certificate https://svn.sqlmap.org/sqlmap/trunk/sqlmap/extra/mysqludfsys/lib_mysqludf_sys_0.0.3.tar.gz

$ tar xfz lib_mysqludf_sys_0.0.3.tar.gz

$ cd lib_mysqludf_sys_0.0.3

$

mysql sys exec_mylab_sys_exec UDF调用mysql外部系统命令(For linux)相关推荐

  1. mysql udf编译_MySql UDF 调用外部程序和系统命令

    1.mysql利用mysqludf的一个mysql插件可以实现调用外部程序和系统命令 2.安装说明: 2.1查询mysql插件路径: 在mysql里查询mysql插件目录的路径:show variab ...

  2. mysql udf 执行命令_mylab_sys_exec UDF调用mysql外部系统命令(For linux)

    有时候为了方便,利用event/trigger调用系统外部命令,可因为安全问题,mysql自身并没有提供相关命令,这里提供个调用系统命令的自定义函数mylab_sys_exec so文件下载:myla ...

  3. mysql c 驱动dll_C#调用MySQL数据库(使用MySql.Data.dll连接)mysql-connector-net-6.10.4.msi

    下载地址:http://dev.mysql.com/downloads/connector/net/ 安装指导 1.安装:mysql-connector-net-6.10.4.msi 其下载地址:ht ...

  4. python调用系统命令_Python如何调用外部系统命令

    前言 利用Python调用外部系统命令的方法可以提高编码效率.调用外部系统命令完成后可以通过获取命令执行返回结果码.执行的输出结果进行进一步的处理.本文主要描述Python常见的调用外部系统命令的方法 ...

  5. python调用系统命令_Python调用外部系统命令

    利用Python调用外部系统命令的方法可以提高编码效率.调用外部系统命令完成后可以通过获取命令执行返回结果码.命令执行的输出结果进行进一步的处理.本文主要描述Python常见的调用外部系统命令的方法, ...

  6. 使用C语言调用mysql数据库编程实战以及技巧

    今天编写使用C语言调用mysql数据库编程实战以及技巧,为其他IT同行作为参考,当然有错误可以留言,共同学习. 一.mysql数据库的C语言常用接口API 1.首先当然是链接数据库mysql_real ...

  7. java mysql自定义函数UDF之调用c函数

    正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. goo ...

  8. mysql udf shell_MySQL使用UDF调用shell脚本

    前言 在最近的项目中,由于需要使用MySQL的UDF(user defined function),这个特性从未使用过,而且个人觉得这个特性以后应该会经常使用,所以写下博文,记录和分享这个特性的用法. ...

  9. Python调用MySQL模块初试

    学Python喊了很长时间了,总是因为各种各样的理由搁置,昨天想起来前同事推荐过一本Python的书<Python核心编程>第二版,就火速买了一本,Python的学习也算是个开始了. 当然 ...

  10. python调用mysql中的自定义function并且返回结果

    首先在Mysql中创立一个叫ForeignKeyTest的function,链接如下: https://blog.csdn.net/appleyuchi/article/details/7945291 ...

最新文章

  1. c语言股票最大收益_金斧子股票配资:股票配资的时候有哪些事项需要注意呢...
  2. 苹果官网下架 iPhone 8 全系;阿里推出“阿里云会议”;深度操作系统 20 BETA 发布 | 极客头条...
  3. 福州大学 Problem 2169 shadow
  4. 北京地铁5号线地图(线路图、站名、实拍pp)
  5. 二分法和牛顿迭代实现开根号函数:OC的实现
  6. 梦幻西游69人最多的服务器,梦幻西游:老王探访难以形容的鬼区,没有摆摊摊位,找不到69玩家...
  7. 【数据预测】基于matlab灰狼算法优化LSSVM数据预测【含Matlab源码 433期】
  8. java毕业设计——基于java+Java Swing+sqlserver的图书馆书库管理系统设计与实现(毕业论文+程序源码)——图书馆书库管理系统
  9. Direct3d纹理
  10. Back Projection
  11. 分布式操作系统 - 1.分布式系统概论
  12. c语言中常见的数学函数
  13. VS2022编写C语言及背景美化
  14. cs224n学习笔记
  15. http-equiv=“X-UA-Compatible“是什么意思?
  16. android_day01
  17. Gitee上传代码教程
  18. js如何让方法在延迟两秒后执行
  19. matching wildcard is strict, but no declaration can be found for element forcontext:property-plac
  20. 四年Java 一个java程序员的年终总结

热门文章

  1. python标准库学习5 ---bisect — Array bisection algorithm
  2. JSP九大内置对象详解
  3. 不惑网络人细数应用交付发展史(二)- 一枝独大
  4. recordset.Open strSql, Conn, 3,3
  5. Android Studio 4.1一键生成代码Template
  6. Flutter 的ButtonBar
  7. C# try-catch-finally 语句异常的类型
  8. php phantomjs 安装_安装php-phantomjs
  9. java.lang.UnsupportedOperationException: TextureView doesn‘t support displaying a background drawabl
  10. CSDN发布博文时出错的截图