【vulhub】Discuz-任意文件删除

【vulhub】Discuz-任意文件删除

0x00漏洞介绍

通过配置个人信息的属性值,导致文件删除。

影响版本

	Discuz <= 3.4

0x01 搭建环境

数据库服务器填写db(必须db,不然安装失败),数据库名为discuz,数据库账号密码均为root,管理员密码任意。填写联系方式页面直接点击跳过本步后跳转到首页

Clip_2024-09-24_18-54-16

0x02 复现过程

首先,环境中是存在robots.txt这个文件的,我们是能正常访问到的,这次漏洞复现的目的就是将这个文件删除

Clip_2024-09-24_19-02-28

随便注册一个用户,进入个人资料页面/home.php?mod=spacecp&ac=profile​,抓一个保存包,将birthprovince参数改为你想删除的文件,这里就写成robots.txt,并且记住自己的formhash,之后能用到

Clip_2024-09-24_19-06-04

Clip_2024-09-24_19-07-08

成功修改后刷新页面我们就发现,页面上的‘’出生省‘’被改成了输入的参数../../../robots.txt

Clip_2024-09-24_19-07-41

在自己构造一个上传文件的html,将「your-ip」改为你靶场ip,「formhash」改为刚才记下的hash值

<body>
<form action="http://[your-ip]/home.php?mod=spacecp&ac=profile&op=base&profilesubmit=1&formhash=[formhash]" method="post" enctype="multipart/form-data"><input type="file" name="birthprovince" /><input type="submit" value="upload" /></form>
</body>

随便上传一个图片,成功后脏数据被提取,漏洞利用结束,再次访问发现robots.txt被删除

Clip_2024-09-24_19-19-01

如果发现上传后出现下面的Discuz! System Error字样,可以将上传包cookie改为正常cookie,之后就正常发包

Clip_2024-09-24_19-12-07

0x03 总结

upload/source/include/spacecp/spacecp_profile.php​中,文件上传成功后!$upload->error()​进入unlink语句
@unlink(getglobal('setting/attachdir').'./profile/'.$space[$key]);
之后回溯变量$space[$key]​(用户的个人设置)中出生省的参数可修改,就变成了用unlink删除当前内容,造成文件删除

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

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

相关文章

2024年开源API工具盘点,覆盖API全生命周期

2024年经济持续低迷,本文整理一些免费的开源工具,旨在帮助企业组织降低工具的支出成本,能用免费的何必用付费的呢(狗头)? 如何高效地管理API的全生命周期——从设计、开发、测试、部署到监控和优化,已经成为每个开发者和技术团队关注的重点。以下工具清单,无论你是刚刚…

Day4 与用户交互 + 格式化运算符 + 基本运算符

今天首先对昨天学的进行了复习,由这个复习可以看出昨天的我是多么的水*-*,今天的话倒是学的挺充实的,因为没有像上节课的jupyter notebook那样的东西(这节课看下来还是挺牛的,但也没到非用不可的时候,继续放着吧)。今天主要学习了三大部分,与用户的交互,格式化占位符,…

ACCESS 关于MSCOMCT2.OCX和MSCOMCTL.OCX报错的解决方案

我在ACCESS中添加了TreeView插件,结果电脑A上打开没问题,电脑B打开时就报MSCOMCT2.OCX和MSCOMCTL.OCX有错. B电脑之前是可以正常使用的,但是加了TreeView插件之后报错,说明是插件引用的问题. 在网上下载了这两个文件,复制到C:\WINDOWS\SYSTEM32目录下. 重新注册了这两个文件: 以…

74hc595

74htc595 功能 8位串行输入 8位串行或并行输出 带3态输出的存储 寄存器带直接清零的移位寄存器100 MHZ(典型) 移出频率 ESD保护H BM ELAJESD22-A114-A超过2000VMM EIAJESD23-A115-A超过200 V说明 74HC/HCT595是高速硅栅CMOS器件, 与低功率肖特基TTLLSTTL引脚兼容。 它们是根…

直接调拨单的酶活总量换算不正确

物料单位换算中的换算类型需要设置为浮动, 原来的是固定.

9月25日小学加减法的编程

根据问题要求来写程序,程序编写难度不高,交互更加友好 需要关注几个点 1加上目前是第几道题的说明 2如果输入错误要有提示第一第几道题是根据循坏的i来决定的但是要注意有些进入了循环但是没有进行答题的要写上i--; 第二要进行hasNextInt()的判断,防止错误输入导致的程序停…

Git - 初识版本库

版本库也叫仓库,英文名 repository。版本库也叫仓库,英文名 repository。 ‍ 创建版本库 之前我们说了版本库的概念:存储版本的地方(存放各个版本之间差异的地方),通常称为版本库。通常版本库是以文件(夹)的形式存放在磁盘上:Git 是用一个目录来存储各个版本和差异的文…

关于QT6.5.3版本安装、更新/添加组件的一些心得

目录引言 一、如何下载和卸载QT1.下载QT 2.卸载QT二、镜像引言 本文主要记录一下关于Visual Studio 2022和Qt Creator 14.0.1 (Community)的安装🛠️和配置⚙️ 起因是第一次下载QT时看着众多的组件不知如何选择,上网搜索攻略🔗看的头晕眼花(本来好简单的一件事🤣) 然…

超详细 Git 教程:二十篇博客,三万字干货

Git 是最流行的版本管理工具Git 是最流行的版本管理工具,可以说是任何程序员都应该掌握的工具。当然,其他人也可以学习它用来进行版本控制为此,我将之前学习 Git 时的笔记整理了下(预计有二十篇),作为博客发出来,希望能帮到你。本文简单介绍下什么是版本控制,以及常见的…

Python计算傅里叶变换

本文介绍了离散傅里叶变换和快速傅里叶变换的基本原理及其对应的Python代码实现,并将计算结果与numpy所集成的fft函数进行对比。其实现在FFT计算的成熟工具已经有很多了,不论是CPU上scipy的fft模块还是GPU上的cufft动态链接库,都有非常好的性能。但还是得真正去了解计算背后…

9月24日课件之动手动脑

在本次课件中有多个动手动脑作业,再次我逐一学习分析。 一、首先是关于枚举的学习代码为, 运行结果为。 首先第一个运行结果显而易见的是false,第二个是因为枚举为类所以不是基本类型,在.isprimitive()中基本类型是返回true,类的话将会返回false。 第三个是.valueof()会返…

如何在低成本ARM平台部署LVGL免费图形库,基于全志T113-i

LVGL简介 LVGL(Littlev Graphics Library)是一个开源的图形库,主要用于嵌入式系统创建图形用户界面(GUI),采用C语言编写,具有高效性和可定制性,在各种微控制器平台和显示硬件上开发用户界面时备受欢迎。LVGL具社区免费开源、控件资源丰富、跨平台可移植等特点。 社区免费开…