记一次学员审计拿下CNVD证书流程

admin 2026-01-21 01:20:09 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录审计DeDeCMS获取CNVD证书的流程。作者分析后台插件上传功能,发现module_upload.php与module_main.php处理逻辑缺陷。通过构造包含恶意代码的XML或ZIP包,利用WriteFiles方法可将Webshell写入服务器目录,最终达成漏洞利用。文末包含课程广告。 综合评分: 65 文章分类: 代码审计,漏洞分析,WEB安全,软文广告


cover_image

记一次学员审计拿下CNVD证书流程

原创

学员投稿 学员投稿

进击安全

2026年1月20日 21:04 北京

免责申明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

一、前言

之前看到小朋友师傅靠dedecms成功拿到过正常,并且在之后询问一些师傅们得知CNVD在不同版本当中的漏洞都是给过的,这里抱着侥幸心理,尝试去审计dedecms的漏洞来混一本CNVD证书。

之前尊师的文章如下

Ambition,公众号:进击安全白盒审计DeDeCMS拿到CNVD证书

二、代码审计

       在后台-插件管理-上传插件处选择并上传插件(xml文件或者内含有xml文件的zip压缩包)

在\dede\module_upload.php文件中,首先接受xml文件或者内含有xml文件的zip压缩包(如果是压缩包系统仅遍历ZIP 内文件列表,匹配第一个.xml文件作为模块文件),然后实例化DedeModule类,调用GetModuleInfo()方法解析临时 XML 文件的模块元信息。以解析结果中hash值(模块唯一标识)是否非空为核心判定依据,若hash为空,判定为非织梦标准模块,执行临时文件删除、资源清理操作后,触发格式错误提示并终止。若为织梦标准模块,系统会校验其唯一性,通过后将文件以hash 值命名持久化存储至模块目录(\data\module),清理临时资源并提示成功上传一个新的模块。

然后需要点击安装。

点击安装后,在文件\dede\module_main.php文件中第272行调用 DedeModule 类的 WriteFiles 方法,将模块包内的文件 / 目录解压 / 写入到指定路径(其中目录与文件名、文件内由模块内代码决定)。

点击确定。

点击继续安装。

上传成功,目录:\cmd。

编写插件,其中PHP代码使用base64编码。

广告区域

目前第四期进阶课程已经开始,课表如下:

同时报名第四期基础课程同样可看,课表如下:

同时具备内部资料以及靶场相关福利,想要了解的师傅可以冲了。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:进击安全 学员投稿 学员投稿《记一次学员审计拿下CNVD证书流程》

评论:0   参与:  0