【vulhub】Discuz-任意文件删除

news/2024/9/25 15:38:17

【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.ryyt.cn/news/64599.html

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

相关文章

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 时的笔记整理了下(预计有二十篇),作为博客发出来,希望能帮到你。本文简单介绍下什么是版本控制,以及常见的…