mylab_sys_exec UDF调用mysql外部系统命令(For linux)
有时候为了方便,利用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
$
相关文档:
构建ARM Linux交叉编译工具链--Crosstool
在同一个体系平台上开发程序属于本地编译,在不同的体系平台上开发其他平台的程序,这时就需要利用交叉编译工具链,属于交叉编译。而现在我正是在i386平台上开发arm体系的程序,这时就需要交叉编译工具了。
......
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1. ......
<?php
/*
* by:lenush
* qicq:707207845
* email:lenus-h@163.com
* site:www.hackthiswebsite.cn
* that's all
*
*/
class mysql{
private $db_host; //数据库主机
private $db_user; //数据库用户名
private $d ......
2008年2月被Sun以10亿美元收购的MySQL,前路仍然难料。对于大家来说,比较有意思的是,10月27日,Red Hat宣布以1900万美元注资开源数据库厂商—EnterpriseDB。消息一出,立刻被业界解读为Red Hat另辟蹊径发展开源数据库,不想以后受制于Oracle和MySQL。
如果MySQL的大旗倒下了,众多力量分散且弱小的开源数据库将展开 ......
首先,打开cmd—–net start 查看mysql是否启动。启动的话就停止net stop mysql.
1、在dos下运行C:\Program Files\MySQL\MySQL Server 5.0\bin
2、mysqld-nt --init-file=c:\mysql\pwdhf.txt 其中在c:\mysql建一个pwdhf.txt文件,并写下你的新密码。
3、运行些命令后,再用新密码登录,即可成功修改密码。 ......