mysql system()_mysql5.x的system函数认识纠正

今天遇到一服务器,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机的数据库

41739337.jpg

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

3773753013.jpg

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':remark OR :remark IS NULL)\n AND (s.ftype_id = :ftype_id OR :ftype_' at line 8") def fetch_data_api_mode(platforms, remark, user_id=None, ftype_id=None, inviter_id=None, page=None, page_size=None): table_name_strategy_mapping = { 'okx': 'strategy_okxapimode', 'binance': 'strategy_bnapimode', # 添加其他平台的映射关系 } table_names_strategy = [table_name_strategy_mapping[p] for p in platforms] union_queries = [] for strategy in table_names_strategy: union_query = f""" SELECT s.id, s.create_time, s.update_time, s.ftype_id, s.active, s.user_id, s.platform, s.remark, s.inviter_id, s.user_id, u.username AS username, s.inviter_id, u_inviter.username AS inviter_name FROM {strategy} AS s LEFT JOIN system_user AS u ON s.user_id = u.id LEFT JOIN system_user AS u_inviter ON s.inviter_id = u_inviter.id WHERE (s.remark = :remark OR :remark IS NULL) AND (s.ftype_id = :ftype_id OR :ftype_id IS NULL) AND (s.user_id = :user_id OR :user_id IS NULL) AND (s.inviter_id = :inviter_id OR :inviter_id IS NULL) """ union_queries.append(union_query) query = f""" SELECT id, create_time, update_time, ftype_id, active, user_id, platform, remark, inviter_id, inviter_name,user_id,username FROM ({' UNION ALL '.join(union_queries)}) AS combined_tables ORDER BY create_time DESC LIMIT :page_size OFFSET :offset """ count_query = f""" SELECT COUNT(*) AS total_count FROM ({' UNION ALL '.join(union_queries)}) AS combined_tables """ query_parms = { 'remark': remark, 'ftype_id': ftype_id, 'user_id': user_id, 'inviter_id': inviter_id, 'page_size': page_size, 'offset': (page - 1) * page_size if page is not None and page_size is not None else None } result = execute_raw_sql_query(query, query_parms) count_result = execute_raw_sql_query(count_query, query_parms) return result, count_result[0]['total_count']
07-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值