逃脱:与Andy Dufresne不同,我们可不想让真正的恶意人士脱离控制。
安全研究人员警告称,一项新型高危网络安全漏洞已经出现,其拥有引发各类隐患的恐怖能力。
Web应用程序目前广泛使用模板引擎,旨在通过网页及电子邮件提供动态数据。这项技术同时采用一套服务器端沙箱环境。然而由于大部分普遍实践允许非受信用户对模板进行编辑,因此带来了一系列非常严重的安全风险,而模板系统的说明文档当中并不一定对此作出了强调,Web安全企业PortSwigger公司警告称。
允许非受信用户向模板中输入信息这一安全漏洞有可能被恶意人士用于面向服务器的恶意代码注入活动。
这类安全漏洞——PortSwigger公司的安全研究人员们将其称为“服务器端模板注入”——与广为人知的Web安全漏洞跨站点脚本(简称XSS)注入有所不同,但后果却更为严重。PortSwigger公司在另一篇白皮书当中解释称:
与XSS不同,模板注入攻击能够被用于直接攻击Web服务器内部,且通常包含有远程代码执行(简称RCE),能够将每一款存在漏洞的应用转化为潜在恶意活动支点。
模板注入攻击的形成原因包括开发人员失误以及为了提供丰富功能而造成的模板内部暴露,后一种情况经常会出现在维基词条、博客、市场营销应用以及内容管理系统当中。
故意模板注入属于一类常见用例,大部分模板引擎都提供“沙箱”机制作为解决方案。
“这项漏洞具备通用属性,其可能会影响到任何一款以非安全方式使用模板引擎的Web应用程序,”PortSwigger Web Security公司创始人兼老总Dafydd Stuttard在采访中指出。“我们已经在涉及多款常用应用的真实场景当中发现了大量由此引发的零日实例。这项安全漏洞的恶意利用频率目前尚不明确,但我们确实多次在无意中发现此类案例。在进行现场演示时,我们亦能轻松找到正在发生的漏洞利用行为。”
PortSwigger公司研究员James Kettle负责在拉斯维加斯召开的黑帽安全大会上披露该项安全漏洞以及应对策略的各项细节。
本次演讲将涵盖如何发现该漏洞及如何对其加以利用,具体包括如何在两款得到广泛使用的应用程序当中利用该零日漏洞,从而获取完整的远程代码执行能力。(这里提到的两款应用分别为Alfresco与XWiki Enterprise,为了不触犯法律条文,它们将以本地方式部署在演示当中。)
PortSwigger公司还将发布一份白皮书,其中详尽阐述本次演讲中所提到的安全漏洞的全部具体细节。这份文献的内容包括在五款最具人气的模板引擎当中进行安全漏洞概念验证,从用于以安全方式处理用户提交模板的沙箱环境中脱离等。根据这份文献的观点(+本站微信networkworldweixin),包括FreeMarker、Velocity 6、Smarty、Twig(经常用于同沙箱环境配合)以及Jade在内的各类模板化语言也都将遭到破解。
作为这份文献的研究结论,PortSwigger公司解释了为何此类安全漏洞长久以来一直没能得到重视。
“只有那些关注此类恶意活动的人才能识别出模板注入攻击,而且在我们投入大量资源评估模板引擎安全水平之前,其严重性往往会被忽略,”Kettle写道。“这也解释了为什么模板注入攻击直到最近才刚刚得到重视,而且我们尚不能确定其实际利用频率。”
用于预防模板注入攻击的技术方案目前还不够成熟,PortSwigger方面表示。该公司计划对自己的漏洞追踪Burp Suite Web应用安全工具作出强化,使其能够检测到这类威胁。不过,PortSwigger公司的主要工作仍然是以研究为手段突出这类遭到忽视的Web安全漏洞类别,而非直接拿出用于解决问题的技术方案。
“通过记录这一问题并通过Burp Suite发布自动检测方案,我们希望能够帮助大家提高相关安全意识并显著降低这项安全漏洞的发作机率,”PortSwigger公司解释道。