【0day】如何通过代码审计拿下CNVD!

admin 2024年11月14日22:46:44评论12 views字数 865阅读2分53秒阅读模式

【0day】如何通过代码审计拿下CNVD!

1、漏洞位置: /dede/album_add.php【第 237 行 - 第 250 行

【0day】如何通过代码审计拿下CNVD!

代码分析:

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、漏洞复现

【0day】如何通过代码审计拿下CNVD!

1.将内容填写完毕并且选择手工上传的位置上传我们的png图片往下面翻有直接点击确定

【0day】如何通过代码审计拿下CNVD!

2.点击确定后会显示这样的页面

【0day】如何通过代码审计拿下CNVD!

3.利用burp工具进行抓包修改数据抓取当前页面默认会有数据传输,抓取后往下面翻

【0day】如何通过代码审计拿下CNVD!

这里是得到的json格式数据 我们可以通过手动的方式修改我们的1-21442Y3V.png 那么这里是上面上传的临时文件名 这里会进行删除 我们通过手动方式修改

4.我在我的源码当中的根目录创建了一个文件 先做演示

【0day】如何通过代码审计拿下CNVD!

5.我们通过上面的审计得到data/文件名称 为我们的临时位置

Payload

修改为../../lynn.txt

【0day】如何通过代码审计拿下CNVD!

提交数据,发现数据已被删除

【0day】如何通过代码审计拿下CNVD!

利用任意文件删除,去删除连接数据库文件

利用文件式管理器

【0day】如何通过代码审计拿下CNVD!

我们是删除不了的会提示

【0day】如何通过代码审计拿下CNVD!

利用我们的任意删除 Payload

../common.inc.php | 即可删除我们的连接数据库文件
【0day】如何通过代码审计拿下CNVD!

结尾附上CNVD证书

【0day】如何通过代码审计拿下CNVD!

【0day】如何通过代码审计拿下CNVD!

【0day】如何通过代码审计拿下CNVD!

【0day】如何通过代码审计拿下CNVD!

免责声明

由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢

原文始发于微信公众号(Hack All):【0day】如何通过代码审计拿下CNVD!

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月14日22:46:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【0day】如何通过代码审计拿下CNVD!https://cn-sec.com/archives/1637390.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息