windows server 下 mysql数据库提权调用系统命令

主要是配置mySql数据库使mySQL数据库可以调用dos命令,例如cmd ,ipconfig等等,案例:数据库触发器调用系统相关的命令;

首先需要下载lib_mysqludf_sys-master.zip文件,并将其中的相关dll文件放到C:\Program Files\MySQL\MySQL Server 5.6\lib\plugin目录下;

Linux是。so文件,这里

  1. DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;  
  2. DROP FUNCTION IF EXISTS sys_get;  
  3. DROP FUNCTION IF EXISTS sys_set;  
  4. DROP FUNCTION IF EXISTS sys_exec;  
  5. DROP FUNCTION IF EXISTS sys_eval;  
  6.   
  7. CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME ‘lib_mysqludf_sys.dll’;  
  8. CREATE FUNCTION sys_get RETURNS string SONAME ‘lib_mysqludf_sys.dll’;  
  9. CREATE FUNCTION sys_set RETURNS int SONAME ‘lib_mysqludf_sys.dll’;  
  10. CREATE FUNCTION sys_exec RETURNS int SONAME ‘lib_mysqludf_sys.dll’;  
  11. CREATE FUNCTION sys_eval RETURNS string SONAME ‘lib_mysqludf_sys.dll’;

  12. 创建成功后执行 select sys_exec('cmd');发现返回值为-1;因为windows下涉及到系统管理员权限问题;


  13. 这里就需要cmd下 执行 sc delete mysql (删除mysql服务);并在cmd自行创建自己的mysql服务(mysqld mysql_sever)
  14. mysqld --install servicename --defaults-file="file_name"
  15. ,此时创建的服务拥有管理员权限;

  16. 但是有时会发现创建服务后启动得到的mysql是完全空白的配置(即root 密码为空,且没有相关数据,已存在的数据库无法关联到服务),这是我们配置服务出错,可以重复上行配置,删除再重新创建服务,也可以根据需要对服务进行再配置,在服务中查看mysql服务,会发现可执行文件仅仅为 mysqld所在地址,这是我们需要配置服务的可执行文件地址。步骤如下:
  17. 1 打开注册表regedit
  18.    
       
    2 进入子项HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/
    3 找到你想改路径的服务名
    4 修改键名是"ImagePath"的键值即可 (

  19. "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" mysql_server


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值