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