在最新发布的一份安全通告中,Synacktiv安全研究团队披露了ScriptCase的“生产环境模块”(即prod控制台)中存在两个可组合利用的严重漏洞,可导致预认证远程命令执行(RCE),直接威胁部署该系统的Web服务器及数据库凭据安全。
“该RCE漏洞由两个可链式利用的漏洞构成:第一个是允许重置prod控制台管理员密码的漏洞……第二个则是一个简单的认证后远程命令执行。”Synacktiv在其详细报告中解释道。
CVE-2025-47227:无需认证即可重置管理员密码
该漏洞源于登录流程中is_page
会话变量的设置方式,攻击者无需认证即可强行重置控制台管理员密码。
攻击流程仅需三步HTTP请求即可实现:
-
通过访问
login.php
,使用构造的PHPSESSID
初始化会话; -
获取绑定该会话的CAPTCHA图像;
-
携带图像识别结果、新密码和任意邮箱地址发送POST请求重置密码。
报告指出:“整个流程中不需要旧密码,仅需验证码和新密码即可完成重置。且prod控制台默认仅有一个管理员账户,提升权限变得极其容易。”
CVE-2025-47228:利用SSH配置字段实现命令注入
第二个漏洞出现在SSH连接设置功能中。认证后攻击者可利用此功能进行命令注入:
用户输入的数据被未过滤直接传入shell_exec()
函数,用于数据库连接测试。例如:向表单字段中注入:; touch ghijkl ;#
将导致服务端成功创建名为ghijkl
的文件,验证命令已执行。
该漏洞无需有效数据库凭据即可触发,只需操控前端表单字段,并重新启用隐藏的UI组件即可。
CAPTCHA防护形同虚设:可用OCR工具轻松破解
尽管密码重置表单使用CAPTCHA验证,但Synacktiv团队展示了如何使用OCR工具(如Tesseract)自动识别验证码图像,实现攻击自动化。
“验证码始终为4个大写字母……可使用图像清洗+OCR自动完成识别过程。”示例中成功识别出验证码如NKUN、NKUW等。
已公开Python PoC,具备以下功能:
-
完整执行预认证RCE漏洞链;
-
实现认证后的命令执行;
-
单独执行管理员密码重置;
-
识别ScriptCase的非默认部署路径。
报告指出:“当两个漏洞组合使用时,重置密码的会话即可作为认证态执行命令注入,使用同一个Cookie完成。”
安全风险评估与防护建议:
该漏洞组合意味着攻击者无需登录即可完全接管ScriptCase服务器,可用于:任意重置管理员密码;窃取数据库凭据;获取系统权限,部署持久后门。
防护建议包括:
-
使用反向代理限制访问prod控制台关键接口(如
login.php
、nm_ini_manager2.php
、测试向导页面); -
重构输入处理逻辑,避免使用
shell_exec()
函数,推荐使用更安全的PHP库如phpseclib; -
加强CAPTCHA生成机制,提升其抗自动化识别能力。
此外,ScriptCase本身未记录相关操作日志,因此检测需依赖Web服务器HTTP访问日志,重点监控以下路径:
发表评论
您还未登录,请先登录。
登录