潜在的风险
的MATLAB®Web应用服务器™没有特定的机制来防止HTTP请求捕获和重放。
的开发版本MATLAB Web应用服务器没有除HTTPS之外的认证或授权机制。
任何访问网络的用户都可以运行用该软件创建的任何应用程序,并读取该应用程序被授权访问的任何数据。
如果需要身份验证和基于角色的访问功能,则需要购买MATLABWeb应用服务器产品。
安装MATLAB Web应用服务器在主机上创建两个低权限用户帐户。
这些低权限帐户可以继承赋予所有用户的权限。应该注意限制给予所有用户的特权。
虽然服务器和应用程序在两个不同的低特权用户帐户下运行,但服务器托管的所有应用程序都在相同的低特权用户帐户下运行。
如果同一应用程序的多个副本同时运行,它们可能会相互干扰。如果应用程序将数据写入任何共享资源,例如文件或非并发数据库,就会发生这种情况。
当将多个应用程序部署到服务器时,服务器跨会话共享cookie,这可能导致单个用户访问多个应用程序时应用程序之间的串扰。
这种情况可能会导致同一用户运行的多个应用程序之间出现无意的串扰。
已部署的web应用程序可能容易受到攻击数据或代码注入利用恶意或不正确的输入试图破坏系统的攻击。服务器不包含针对这两种类型注入攻击的显式保护。MATLAB的某些特性,特别是
eval ()
功能,会增加被注入攻击的风险。一种常见的对策是输入清理或输入白名单。MATLAB包含如下函数正则表达式
和regexprep
这可以帮助验证不可信的输入。您的应用程序可能会间接调用
eval ()
,可能使其容易受到代码注入攻击。其他MATLAB函数可能存在相同的代码注入漏洞;任何处理类似代码的输入(XML、SQL、JSON等等)的函数都可能容易受到代码注入的攻击。
通过MATLAB访问操作系统的任何应用程序
系统()
,dos ()
,或unix ()
命令还可能容易受到代码注入的攻击。
的
MwWebAppWorkerR2023a
帐户有权访问应用程序
服务器上的文件夹,因此任何正在运行的web应用程序都可能读取另一个文件夹的内容.ctf
文件夹中的文件。即使使用授权也是如此。因此,您必须假设每个用户的角色为作者
如果他们足够努力,就有可能获得其他应用的副本。
请注意
此列表确定了已知的风险,但并不全面。