模板注射研究

当用户输入能够定义模板表达式时,就会发生模板注入。它通常分为两种类型。这些被称为客户端模板注入和服务器端模板注入。

客户端模板注入(CSTI)

客户端模板注入通常发生在浏览器和HTML中。这是因为开发人员允许用户在网页中输入,并允许他们定义模板表达式。beplay体育能用吗这就允许攻击者注入模板表达式(简化的JavaScript)来利用web应用程序。beplay体育能用吗这与跨站点脚本的工作原理类似。

一些JavaScript框架,比如AngularJS,有一个沙箱——这阻止了开发者使用一些他们不应该使用的对象。为了让攻击者利用这一点,他们需要找到一种“逃离”沙盒的方法。这意味着可以访问文档对象等区域,以便利用web应用程序。beplay体育能用吗

客户端模板注入研究

如果您正在寻找与CSTI相关的最新技术和矢量,那么我们将为您介绍。你可以学习我们如何逐步打破AngularJS的沙箱,甚至可以用我们的互动实验室

我们会告诉你如何利用真实世界的应用程序即使有严格的限制。如果你纠结于如何绕过内容安全策略(CSP),我们有很多文章描述了如何使用CSTI绕过它。

2017年我们展示了基于DOM的Angular沙箱转义它描述了如何打破AngularJS沙箱。

服务器端模板注射(SSTI)

早在2015年,beplay官网可以赌PortSwigger发现了一项突破性的技术开发web应用程序。beplay体育能用吗这现在通常称为服务器端模板注入(SSTI)。SSTI发生在服务器级——在服务器端语言(如PHP)和模板引擎(如Twig)中。

当开发人员允许用户输入来定义模板代码时,就会发生SSTI。这就允许攻击者注入他们自己的模板表达式。这与CSTI类似,但通常具有更大的影响,因为成功的开发通常会导致远程代码执行(Remote Code Execution, RCE)。

一些模板引擎使用了沙箱——它试图阻止对可以访问文件系统或执行任意代码的危险对象的访问。这通常会使它更难被利用,但也不是不可能。

服务器端模板注入研究

在我们的模板注射研究,我们将向您展示如何从一次注入中检测各种模板引擎。我们也演示了如何利用这些模板引擎一旦你发现了它们。

如果您是这个主题的新手,有一些很棒的SSTI实验室可以帮助您学习—并在测试真正的web应用程序时收集高影响的奖励。beplay体育能用吗

我们提出了服务器端模板注入:现代Webapp的RCEbeplay体育能用吗黑帽美国公司。这导致了来自我们和社区的大量高影响bug赏金报告。

模板注射研究论文