本文由掌控安全学院?-?nocircle?投稿
DedeCMS V5.7.104存在任意文件删除
漏洞位置: /dede/album_add.php
第 237 行 - 第 250 行
代码分析:
$albumUploadFiles 数据不为空进入 if循环
Stripslashes 删除反斜杠 并且将albumUploadFiles的内容json格式
循环files数组内容
DEDEDATA是一个常量为当前绝对路径/data/uploadtmp 这里是会移动到这个目录当中
$tmpfile = $uploadtmp./我们的文件名称
第244 - 249 并没有对$tmpfile做任何操作
第249行将$tmpfile = $uploadtmp./我们的文件名称移动到我们244-249的所创建的文件当中
250将$tmpFile的文件删除 没有任何限制
漏洞复现:
1.将内容填写完毕并且选择手工上传的位置上传我们的png图片往下面翻有直接点击确定
2.点击确定后会显示这样的页面
3.利用burp工具进行抓包修改数据 抓取当前页面默认会有数据传输
抓取后往下面翻
这里是得到的json格式数据 我们可以通过手动的方式修改我们的1-21442Y3V.png 那么这里是上面上传的临时文件名 这里会进行删除 我们通过手动方式修改
4.我在我的源码当中的根目录创建了一个文件 先做演示
5.我们通过上面的审计得到data/文件名称 为我们的临时位置
Payload
修改为../../lynn.txt
提交数据
数据已被删除
利用任意文件删除
我们去删除连接数据库文件
利用文件式管理器
我们是删除不了的会提示
利用我们的任意删除
Payload
../common.inc.php | 即可删除我们的连接数据库文件
我们正常访问页面
页面显示空白