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查看权限比较低

Image.png

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


Image.png

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

Image.png

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


Image.png

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


Image.png
Image.png

使用 udf.dll 创建 函数

Image.png

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

Image.png

接下来 可以

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文:【吐血撰写】渗透测试技术基础——提权技术基础大全 **关于提权我们要想到这三个问题:**1 什么是提权?2...
    i春秋论坛阅读 11,293评论 0 19
  • 关于提权我们要想到这三个问题:1 什么是提权? 2 怎么样提权? 3 提权后的事... 提 权:通过各种办法和漏洞...
    查无此人asdasd阅读 4,974评论 0 1
  • 一套实用的渗透测试岗位面试题,你会吗? 1.拿到一个待检测的站,你觉得应该先做什么? 收集信息 whois、网站源...
    g0阅读 10,370评论 0 9
  • 最近总是容易多愁善感,中午的时候,接到一位好久没联系的同桌DD的微信: 瞬间多种感情涌上心头。时间过得真快,去年我...
    起夏浅听阅读 1,163评论 0 0
  • 安静的夜 只有知了在叫 太阳穴在隐隐作痛 我坚持写下今天的日记 我们一起去外面吃第一顿饭 虽然邻桌煞风景地探讨遗产...
    楮墨斋阅读 1,313评论 0 0