这种注入攻击方式的后果要比XSS更糟糕
在Black Hat 2015大会上,安全研究人员们警告:一个关于web安全脆弱性的新的威胁可能会严重损害我们的安全。
今天,为了在网站页面或邮件中动态地呈现数据,模板引擎被web应用广泛使用。这种技术提供一种服务器端的沙盒。然而,“允许不被信任的用户编辑模板”这种习以为常的惯例引出了一系列严重的风险,而这些风险或许在模板的文件系统中不那么容易被发现。
用户不能安全地向模板中输入数据这种风险确实存在,并极有可能被利用来向服务器中注入恶意代码。
被PortSwigger公司的研究人员称为“服务器端模板注入”这种潜在的攻击方式和跨站点脚本执行(XSS)有明显区别且后果更加严重。
PortSwigger的技术人员这样解释:
不像XSS攻击那样,模板注入攻击可以被用来直接攻击web服务器的内部并且获得远程代码执行权限(RCE),并使得所有易被攻击的web应用成为一个潜在的攻击跳板。
模板注入攻击可以通过开发者的错误或者那些为了提供更加丰富的功能而特意制作出来的模板来引发,例如维基机密、微博、交易应用以及网站的内容管理系统。
对特定模板的注入攻击很容易使用的,甚至很多模板引擎都为了这一“额外要求”提供了一个特定的沙箱接口。
“这种脆弱性是天生的,并偷偷地影响着任何使用模板引擎搭建起来的web应用”,PortSwigger的创始人兼总裁Dafydd Stuttard说道,“我们已经见识了许多被大众广泛使用的web应用的0day漏洞实例,但是这种脆弱性的发生却频率是未知的,我们经常会偶然发现这样的案例并很容易就锁定了一些目标,它们便是一个个活生生的证明”
在演讲中,PortSwigger研究人员James Kettle呈现了这种风险和对抗的全部细节信息。
演讲涵盖如何发现充分利用这些风险,包括挖掘两款使用非常广泛的web应用的0day漏洞到获得全部远程代码的执行权限。(出于某些法律原因,在本地开发并用于演示的样例目标应用为:Alfresco和XWiki Enterprise)
PortSwigger在演讲中发布了含有全部技术细节的论文。论文包含被漏洞利用的5种使用最广泛的模板引擎的概念性验证代码(POC),以及如何从沙盒中逃离。模板语言包括FreeMarker、Velocity6、Smarty、Twig和Jade,均存在这个漏洞。
在论文的结尾,PortSwigger解释了为什么这类风险被人们忽视了如此长的时间。
“模板注入攻击只会在审计人员明确的寻找它是否存在的时候显现,并且可能会错误地显示为低威胁级别,除非我们将资源投入到模板引擎安全状态的评估方面,”Kettle写道,“这也就解释了为什么模板注入攻击直到今天才被我们关注,而它的广泛流行也是自然而然的。”
现在用于防止“使用模板对于我们的损害”的技术仍旧是不成熟的。PortSwigger计划对适用于web应用的漏洞挖掘安全工具Burp Suite“增派人手”以应对这种威胁。然而,PortSwigger将它的研究成果作为一个被严重忽视的web安全风险而不是一个推销它的技术产品的好时机。
对于此,PortSwigger有它自己的解释。“通过对模板注入攻击相关资料的彻底整理,并发布针对此攻击的自动检测工具Burp Suite,我们希望可以加强大家对于它的防范意识并切实减少这种攻击的流行。”
作者:admin
来源:51CTO