Web安全之第三方服务MYSQL提权

环境:
web应用服务器权限较低
MySQL system权限

什么是UDF
UDF -----User defined Function 用户定义函数。 MySQL 本身支持很多内建函数,此外我们还可以通过创建存储方法来定义函数。UDF 为用户提供了一种更高效的方式来创建函数。

UDF提权利用过程
导入udf.dll 到服务器指定目录

        mysql版本大于等于5.1  udf.dll 需要导入到 plugin_dir 目录的,plugin_dir在mysql安装目录下
    的 lib/plugin目录下,默认目录不存在,创建目录。 mysql安装目录select @@basedir。
    
        mysql版本小于5.1 udf.dll 需要导入到 c:\windows\ 目录

使用SQL语句创建功能函数

           CREATE FUNCTION shell RETURNS STRING SONAME 'udf.dll'

执行mysql语句调用新创建的函数

           select shell('cmd', 'whoami')

删除创建的函数

           drop function shell;

演示:
环境为搭建环境,仅供学习交流。
首先是已经取得一个Webshell,并且没办法进行系统提权,因此我们只能够尝试进行第三方服务提权。这里使用mysql udf提权(mysql sysytem权限),上传大马之后执行whoami查看权限比较低

Web安全之第三方服务MYSQL提权_第1张图片
Image.png

执行 ner user apache 查看apache属于哪个组


Web安全之第三方服务MYSQL提权_第2张图片
Image.png

apache权限较低 mysql 权限可能是system的权限 尝试上传udf.php进行提权

Web安全之第三方服务MYSQL提权_第3张图片
Image.png

访问上传的udf.php 成功登陆进来之后,可以看到mysql版本是大于5.1的。mysql版本大于等于5.1 udf.dll 需要导入到 plugin_dir 目录的,plugin_dir在mysql安装目录下的 lib/plugin目录下,默认目录不存在,创建目录。 mysql安装目录select @@basedir。


Web安全之第三方服务MYSQL提权_第4张图片
Image.png

点击 Cerate PluginDir 发现提示创建成功


Web安全之第三方服务MYSQL提权_第5张图片
Image.png
Web安全之第三方服务MYSQL提权_第6张图片
Image.png

使用 udf.dll 创建 函数

Web安全之第三方服务MYSQL提权_第7张图片
Image.png

使用新建的shell函数执行命令

Web安全之第三方服务MYSQL提权_第8张图片
Image.png

接下来 可以

            修改管理员密码
            创建一个新用户 添加到管理员组
            提取当前登录用户密码  (Getpass.exe)
            修改帮助账号(SUPPOTR_338945a0)的密码,并添加管理员组 (比较不容易被发现,推荐使用)
            提取用户密码哈希值(wce.exe)

在前两篇提权文章内做过演示,因此这里不再做演示!

你可能感兴趣的:(Web安全之第三方服务MYSQL提权)