欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-09 12:12:54
...

今天遇到一服务器,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函数认识纠正

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

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

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

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

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

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

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