【0day】如何通过代码审计拿下CNVD!
2023-3-30 11:22:48 Author: 藏剑安全(查看原文) 阅读量:38 收藏

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安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDA5NzUzNA==&mid=2247484929&idx=2&sn=f7e3c0ce5c654110ea079eca4ee22838&chksm=cfe09c10f897150613d00f99e882fe331ead674cffe11d9807396473fa4382bfd84b9ee2bc54#rd
如有侵权请联系:admin#unsafe.sh