欢迎光临
未来你我一起携手

Discuz!X前台任意文件删除到getshell Discuz!X前台任意文件删除漏洞重现及分析

交流群:168744704该博文参考来源于《Discuz!X前台任意文件删除漏洞重现及分析》。本文做一个自我思路的延伸与拓扑,仅作技术研究。如果有说的不对之处,还请指出。以下引用来自该漏洞的一些说明

9月29日,Discuz修复了一个前台任意文件删除的漏洞,相似的漏洞曾在2014年被提交给wooyun和discuz官方,但是修复不完全导致了这次的漏洞。

先说明一下我测试的环境。和文中所提的环境稍稍有些不同。我会根据情况来做一些修改直到复现漏洞。

Discuz!X3.4 简体中文 UTF8 版 20170820

我的大致思路是这样的。因为这是一个任意删除文件的漏洞。我脑海第一个反应就是删除安装锁,来重装这个Discuz。当然了,这一套流程走下来。站点肯定是无法正常访问资源的,这里仅作学习。但我相信一定有更好的办法来避免这一个问题。好了 先复现一下。

根据漏洞利用过程,我首先获取到了我formhash为bdca9563

 Discuz!X前台任意文件删除漏洞重现及分析


Discuz!X前台任意文件删除漏洞重现及分析

接着2步走

<form  action="http://localhost/home.php?mod=spacecp&ac=profile&op=base" method="POST" enctype="multipart/form-data">  
<input type="file" name="birthprovince" id="file" />  
<input type="text" name="formhash" value="bdca9563"/></p>  
<input type="text" name="profilesubmit" value="1"/></p>  
<input type="submit" value="Submit" />  
</from>

随便上传一张图片就可以发现这个import文本被删除了。注意,这时候我的import是放在WEB根目录。为什么路径是../../../importfile.txt?是因为漏洞文件存在于:source/include/spacecp/spacecp_profile.php。而Source在WEB目录。也就是和importfile在同一级目录。所以想删除importfile的时候就需要上一级上一级上一级三次。同理,删除source/include/spacecp/这个目录下则路径应该为/importfile.txt。

重点来了,那我们如何用这个来实现getshell.其实很简单,就是重装这个DZ。我们要配合这个任意文件删除的漏洞来删除掉安装锁。我们继续走一遍流程

 Discuz!X前台任意文件删除漏洞重现及分析

Discuz!X前台任意文件删除漏洞重现及分析

所以这时候路径是../../../data/install.lock。我们这时候再走一遍流程。可以发现install.lock已经被干掉了

下一步我们该做什么呢?当然是选择重装啦.在删除install.lock之后,访问install目录即可进行重装。为什么要进行重装。因为我乐意啊

这里我的IP可以换成你的远程数据库地址。然后我们安装一下。安装过程不截图了。这个时候我就是已经安装好了。其实在这里有个小技巧。因为我们是控制了远程数据库。所以我们可以构造一个特殊的数据库密码来进行GetShell[1′);phpinfo();echo(‘]。安装完毕以后我们注意看下ucenter这个文件的内容

所以知道为什么了吗?这里进行一下闭合。就可以了呢!是不是很帅。对,我很帅,虽然我很帅.但我很可爱很温柔很善良很萌很阳光很暖.唉

 

 

未经允许不得转载:卧栏听雨 » Discuz!X前台任意文件删除到getshell
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址