今天遇到一服务器,passwd文件内mysql这个用户是有shell的。 [/var/lib/mysql/]$ cat /etc/passwd |grep mysqlmysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 想提权,但不想反弹,考虑着直接ssh过去,mysql的home目录为 /var/lib/mysql 如果能建一个

今天遇到一服务器,passwd文件内mysql这个用户是有shell的。


[/var/lib/mysql/]$ cat /etc/passwd |grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
登录后复制

想提权,但不想反弹,考虑着直接ssh过去,mysql的home目录为 /var/lib/mysql

如果能建一个.ssh目录,再into outfile 一个 authorized_keys2 文件,就爽了。

首先看了下这目录是mysql的data文件夹,先想到的是建立一个.ssh名的数据库,就会有这个文件夹了,可提示出错,不能建立名字以点开头的数据库吧。

于是乎就转到了mysql的system函数上,以前没用过,所以也没认真看过。

搜到了一片说的比较详细的文章。 http://297020555.blog.51cto.com/1396304/544763

文章的内容我转一下,免得传送门无效了。

linux系统环境下,mysql以root权限 登录时提权

mysql5.x 的linux版本下面有一个函数,可以帮助我们干很多猥琐的事情,这个函数4。x下面貌似没有,原来一直没发现,也没去查函数手册,就我自己的经验来写点东西。4,x的 明天再看看函数手册,再装一个实验一下。

mysql 5.x里面引入了一个system函数,这个函数可以执行系统 命令 ,当mysql以root登陆的时候,就可以利用这个函数执行命令,当然是在权限许可的 范围内。

下面开始提权:

实验环境:

A:192.168.211.128 (mysql版本:5.0.77)

B:192.168.211.131

实验过程:

在B机上通过root用户(这里一定要区分,这个root用户是mysql的,并不是linux系统的)连接到A机的数据库

mysql 5.x的system函数认识纠正-LMLPHP

现在已经连到A机的数据库了,下来就开始调用system函数了。

mysql 5.x的system函数认识纠正-LMLPHP

好了,思路就到这里,剩下的大家自己发挥吧。

出自 “www.netcat.tk” 博客,请务必保留此出处http://297020555.blog.51cto.com/1396304/544763

以上是原文,原始出处我就不去找了,总之连背景色都一起搬过来了。 以上貌似可行哦。我本地测试了下,简直是放屁。上面执行的添加用户,其实添加在了B机器上的。写这篇文章的人,真太大意了。

测试要点,mysql链接远程服务器后,system ifconfig看看,本地ip吧!! system id看看,是不是当前本地登陆用户!

因此得出结论,这命令是在本地机器上,以当前登陆用户执行的,跟远程mysql服务器无关。

原文地址:mysql 5.x的system函数认识纠正, 感谢原作者分享。

09-08 09:30