1、漏洞位置: /dede/album_add.php【第 237 行 - 第 250 行】
代码分析:
1. $albumUploadFiles 数据不为空进入 if
2. Stripslashes 删除反斜杠 并且将albumUploadFiles的内容为json格式
3. foreach循环files数组内容
4. DEDEDATA是一个常量为当前绝对路径/data/uploadtmp 这里是会移动到这个目录当中
5. $tmpfile = $uploadtmp./我们的文件名称
6. 第244 - 249 并没有对$tmpfile做任何操作
7. 第249行将$tmpfile = $uploadtmp./我们的文件名称移动到我们244-249的所创建的文件当中
8. 250将$tmpFile的文件删除 没有任何限制
2、漏洞复现
1.将内容填写完毕并且选择手工上传的位置上传我们的png图片往下面翻有直接点击确定
2.点击确定后会显示这样的页面
3.利用burp工具进行抓包修改数据抓取当前页面默认会有数据传输,抓取后往下面翻
这里是得到的json格式数据 我们可以通过手动的方式修改我们的1-21442Y3V.png 那么这里是上面上传的临时文件名 这里会进行删除 我们通过手动方式修改
4.我在我的源码当中的根目录创建了一个文件 先做演示
5.我们通过上面的审计得到data/文件名称 为我们的临时位置
Payload
修改为../../lynn.txt
提交数据,发现数据已被删除
利用任意文件删除,去删除连接数据库文件
利用文件式管理器
我们是删除不了的会提示
利用我们的任意删除 Payload
../common.inc.php | 即可删除我们的连接数据库文件
结尾附上CNVD证书
免责声明
由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢