文章总结: 本文记录学员通过代码审计发现某CMS系统模板解析漏洞并获取CNVD证书的过程。审计发现upload/eadmin/admin/template/ListIndexpage.php文件存在逻辑缺陷,攻击者可控制tempname和temptext参数,通过AddEBakTemp方法将恶意PHP代码写入模板,当管理员启用首页方案时触发NewsBq()和RepBq()方法执行任意代码,最终导致远程代码执行。漏洞利用简单直接,危害严重,建议及时修复模板解析逻辑并加强输入过滤。 综合评分: 78 文章分类: 代码审计,漏洞分析,实战经验,WEB安全,安全培训
记一次学员拿下CNVD证书-第三弹
原创
学员投稿 学员投稿
进击安全
2026年2月8日 10:00 北京
免责申明
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
一、前言
再来更新一期学员通过代码审计来获取CNVD证书的一次流程,还是我们的老朋友CMS系统,来混对应的一本CNVD证书。
二、审计流程
这里白盒分析,环境搭建起来之后界面如下:
涉及文件为:upload/eadmin/admin/template/ListIndexpage.php
这里第一个参数可控,并且当参数等于AddIndexpage的时候,调用对应方法,跟入对应方法。
这里可以看到调用了方法AddEBakTemp方法,并且其中tempname以及temptext是可控的,跟入此方法。
其中存在方法DelEBakTemp方法,跟入此方法。
这里 $r[‘temptext’]
是从数据库取出的可控数据,当管理员”启用首页方案”时,会调用
NewsBq() 方法,参数 $r[‘temptext’]
为用户之前存储的恶意模板内容,跟入此方法
这里 $indextext 即 $r[‘temptext’] 是可控的:
- stripSlashes($indextext) – 去除了之前 eaddslashes2()
添加的转义字符
2.RepBq($indextext) – 将模板标签转换为PHP代码,跟入此方法
这里正则替换直接将模板标签转换为PHP代码,进行新增对应的首页方案。
这里生成的 $file 路径类似 ,导致远程代码执行!
三、漏洞验证
这里进行新增对应的首页方案。
编辑恶意代码,然后进行提交。
点击预览。
成功RCE。
(祝看到文章的师傅们证书满满)
广告区域
目前第四期进阶课程已经开始,课表如下:
同时报名第四期基础课程同样可看,课表如下:
同时具备内部资料以及靶场相关福利,想要了解的师傅可以冲了。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:进击安全 学员投稿 学员投稿《记一次学员拿下CNVD证书-第三弹》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论