检测客户端模板系统的注入漏洞技术方案

技术编号:26772294 阅读:57 留言:0更新日期:2020-12-18 23:55
一种用于检测客户端模板系统的注入漏洞的方法(800)包括,接收网页(200),确定所述网页实施具有客户端模板的解释编程语言框架(142),以及从所述网页提取所述解释编程语言框架的版本(144)和插值符号(146)。所述方法还包括,基于所述解释编程语言框架的所述版本和所述插值符号,生成所述网页的至少一个注入漏洞情境(210)的攻击有效载荷(152a),对所述网页进行插装,以将所述攻击有效载荷注入到所述网页的所述至少一个注入漏洞情境中,以及执行插装后的所述网页。

【技术实现步骤摘要】
【国外来华专利技术】检测客户端模板系统的注入漏洞
本公开涉及检测客户端模板系统的注入漏洞。
技术介绍
现代解释编程语言框架(诸如JavaScript)将新颖的功能引入到网页应用中。在框架(诸如AngularJS、Polymer、Aurelia或Ractive)中变得流行的一个功能是客户端表达式语言。表达式使得以声明性方式来定义用户界面变得容易。在这些表达式中,某些符号标记表达式的开头和结尾。对于标准网页浏览器,这些符号是无意义的,因此浏览器将该符号解释为文本。然而,现代解释编程语言框架解析网页的内容,如果它们遇到这些所谓的插值符号(符号),则框架使用自定义表达式解析器来解释该内容。表达式的解释发生在用户的浏览器中的客户端上。因此,就应用将表达式解释为代码而言,框架隐式信任表达式。因此,控制表达式等同于能够在网页应用的情境中执行代码。表达式是要求网页开发者采用新的开发理念的功能。开发者现在需要提供静态模板并且在客户端上将用户输入插入其中,而不是在服务器端上动态地生成超文本标记语言(HTML)。然而,因为许多开发者对此没有经验,所以他们替代地通过在服务器端上插本文档来自技高网...

【技术保护点】
1.一种方法(800),其特征在于,包括:/n在数据处理硬件(118)处接收网页(200);/n由所述数据处理硬件(118)确定所述网页(200)实施具有客户端模板的解释编程语言框架(142);/n由所述数据处理硬件(118)从所述网页(200)提取所述解释编程语言框架(142)的版本(144)和插值符号(146);/n由所述数据处理硬件(118)基于所述解释编程语言框架(142)的所述版本(144)和所述插值符号(146),生成所述网页(200)的至少一个注入漏洞情境(210)的攻击有效载荷(152a);/n由所述数据处理硬件(118)对所述网页(200)进行插装,以将所述攻击有效载荷(15...

【技术特征摘要】
【国外来华专利技术】1.一种方法(800),其特征在于,包括:
在数据处理硬件(118)处接收网页(200);
由所述数据处理硬件(118)确定所述网页(200)实施具有客户端模板的解释编程语言框架(142);
由所述数据处理硬件(118)从所述网页(200)提取所述解释编程语言框架(142)的版本(144)和插值符号(146);
由所述数据处理硬件(118)基于所述解释编程语言框架(142)的所述版本(144)和所述插值符号(146),生成所述网页(200)的至少一个注入漏洞情境(210)的攻击有效载荷(152a);
由所述数据处理硬件(118)对所述网页(200)进行插装,以将所述攻击有效载荷(152a)注入到所述网页(200)的所述至少一个注入漏洞情境(210)中;以及
由所述数据处理硬件(118)执行插装后的所述网页(200)。


2.根据权利要求1所述的方法(800),其特征在于,进一步包括:
在执行插装后的所述网页(200)期间,由所述数据处理硬件(118)捕获由所述攻击有效载荷(152a)触发的抛出异常(182);以及
由所述数据处理硬件(118)基于所述抛出异常(182)来识别所述网页(200)的漏洞(192)。


3.根据权利要求2所述的方法(800),其特征在于,进一步包括,由所述数据处理硬件(118)修改所述解释编程语言框架(142)的异常处理程序(312)以拦截所述抛出异常(182)。


4.根据权利要求2或3所述的方法(800),其特征在于,所述抛出异常(182)包括语法异常(182a)。


5.根据权利要求1所述的方法(800),其特征在于,所述攻击有效载荷(152a)包括验证函数(154),所述验证函数(154)被配置为验证对所述数据处理硬件(118)的所述验证函数(154)的执行。


6.根据权利要求5所述的方法(800),其特征在于,进一步包括:
在执行插装后的所述网页(200)期间,由所述数据处理硬件(118)捕获由所述攻击有效载荷(152a)触发的所述验证函数(154)的响应(530a);以及
由所述数据处理硬件(118)基于所述响应(530a)来识别所述网页(200)的漏洞(192)。


7.根据权利要求1-6中任一项所述的方法(800),其特征在于,从所述网页(200)提取所述插值符号(146)包括:
由所述数据处理硬件(118)执行所述网页(200),以公开所述解释编程语言框架(142)的应用编程接口API(412);
由所述数据处理硬件(118)修改所述API(412);以及
由所述数据处理硬件(118)至少使用修改后的所述API(414)来拦截所述插值符号(146)的重新配置。


8.根据权利要求1-7中任一项所述的方法(800),其特征在于,生成所述攻击有效载荷(152a)包括,对于所述网页(200)的每个注入漏洞情境(210),生成被配置用于插装到所述网页(200)中的单个攻击有效载荷(152a)。


9.根据权利要求1-7中任一项所述的方法(800),其特征在于,对所述网页(200)进行插装以注入所述攻击有效载荷(152a)包括,由所述数据处理硬件(118)将所述攻击有效载荷(152a)注入到所述网页(200)的可能的输入向量(510a)中。


10.根据权利要求1-7中任一项所述的方法(800),其特征在于,对所述网页(200)进行插装以注入所述攻击有效载荷(152a)包括:
对于所述网页(200)的每个可能的输入向量(510),由所述数据处理硬件(118)生成单独的测试用例(520);以及
由所述数据处理硬件(118)将所述攻击有效载荷(152a)注入到每个测试用例(520)的相应的所述可能的输入向量(510)中。


11.根据权利要求10所述的方法(800),其特征在于,执行插装后的所述网页(200)包括,对于每个测试用例(520),执行插装后的所述网页(200)。


12.根据权利要求1-11中任一项所述的方法(800),其特征在于,进一步包括:
在执行所述网页(200)期间,由所述数据处理硬件(118)确定所述网页(200)的漏洞(192)是否被识别;
当所述网页(200)的所述漏洞(192)被识别时:
由所述数据处理硬件(118)基于所述解释编程语言框架(142)的所述版本(144)和所述网页(200)的所述漏洞(192),生成第二攻击有效载荷(152b),所述第二攻击有效载荷(152b)包括指示所述网页(200)的所述漏洞(192)的用户通知(642);
由所述数据处理硬件(118)将所述第二攻击有效载荷(152b)注入到所述网页(200)中;以及
将具有注入的所述第二攻击有效载荷(152b)的所述网页(200)从所述数据处理硬件(118)传送到请求所述网页(200)的用户设备(102),当由所述用户设备(102)接收所述网页(200)时,所述网页(200)使得所述用户设备(102)执行所述网页(200)并且在所述用户设备(102)上执行的用户界面(104)上显示所述用户通知(642)。


13.根据权利要求1-12中任一项所述的方法(800),其特征在于,对所述网页(200)进行插装以注入所述攻击有效载荷(152a)包括,使用原型继承来注入所述攻击有效载荷(152a)。


14.根据权利要求1-13中任一项所述的方法(800),其特征在于,所述解释编程语言包括JavaScript。


15.一种系统(100),其特征在于,包括:
数据处理硬件(118);以及
与所述数据处理硬件(118)进行通信的存储器硬件(1020),所述存储器硬件(1020)存储指令,当在所述数据处理硬件(1020)上执行所述指令时,所述指令使得所述数据处理硬件(118)进行操作,包括:
接收网页(200);
确定所述网页(200)实施具有客户端模板的解释编程语言框架(142);
从所述网页(200)提取所述解释编程语言框架(142)的版本(144)和插值符号(146);
基于所述解释编程语言框架(142)的所述版本(144)和所述插值符号(146),生成所述网页(200)的至少一个注入漏洞情境(210)的攻击有效载荷(152a);
对所述网页(200)进行插装,以将所述攻击有效载荷(152a)注入到所述网页(200)的所述至少一个注入漏洞情境(210)中;以及
执行插装后的所述网页(200)。


16.根据权利要求14所述的系统(100),其特征在于,所述操作进一步包括:
在执行插装后的所述网页(200)期间,捕获由所述攻击有效载荷(152a)触发的抛出异常(182);以及
基于所述抛出异常(182)来识别所述网页(200)的漏洞(192)。


17.根据权利要求16所述的系统(100),其特征在于,所述操作进...

【专利技术属性】
技术研发人员:塞巴斯蒂安·莱基斯尼古拉斯·古卢波维奇
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1